#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>' has no member named 'name'
我认为我们可以通过这种方式访问该结构。难道我做错了什么?
原文由 rato talo 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在创建一个由四个向量组成的数组,而不是一个具有四个元素的向量。
在您的代码中,
coffee_vec[1]
指的是vector<coffeeBean>
对象,而不是coffeeBean
对象。