类std :: vector没有名为的成员 [英] class std::vector has no member named
本文介绍了类std :: vector没有名为的成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct coffeeBean
{
string name;
string country;
int strength;
};
std::vector<coffeeBean> coffee_vec[4];
int main(int argc, char ** argv)
{
coffee_vec[1].name;
return 0;
}
当我尝试运行此代码时,我得到' class std :: vector< coffeeBean>'没有名为'name'的成员
我以为我们可以通过这种方式访问该结构。难道我做错了什么?
When I try to run this code I get 'class std::vector<coffeeBean>' has no member named 'name'
I thought we can access the struct this way. Am I doing something wrong?
推荐答案
您正在创建一个包含四个向量的数组,而不是包含四个元素的向量。
You are creating an array of four vectors, not a vector with four elements.
在您的代码中, coffee_vec [1]
是指 vector< coffeeBean>
对象,而不是 coffeeBean
对象。
In your code, coffee_vec[1]
refers to a vector<coffeeBean>
object, not a coffeeBean
object.
这篇关于类std :: vector没有名为的成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文