C++ 如何访问结构中向量中的变量
如何访问向量中的struct中的变量。这里我有以下代码C++ 如何访问结构中向量中的变量,c++,struct,stdvector,C++,Struct,Stdvector,如何访问向量中的struct中的变量。这里我有以下代码 struct sam { double x; int y; std::vector< struct jon > jhon; }; struct jon { int id; char name[64]; }; class foo { public: void getdata(); private; sam s; }; v
struct sam
{
double x;
int y;
std::vector< struct jon > jhon;
};
struct jon
{
int id;
char name[64];
};
class foo
{
public:
void getdata();
private;
sam s;
};
void foo:: getdata()
{
for (int i = 0; i < 2; ++i)
{
s.jhon[i].id = 5;
}
}
struct sam
{
双x;
int-y;
std::vectorjhon;
};
结构乔恩
{
int-id;
字符名[64];
};
福班
{
公众:
void getdata();
私有的
山姆s;
};
void foo::getdata()
{
对于(int i=0;i<2;++i)
{
s、 jhon[i].id=5;
}
}
我无法访问变量id。我想,我是以错误的方式访问的。有谁能建议我通过vector struct访问变量的最佳方法吗 您没有向向量添加任何“jon”,因此它是空的。您无法从空向量访问。乍一看,访问看起来是正确的,我看到的唯一问题是您假设jhon至少有两个元素,但我看不到它在任何地方初始化过。。。你到底得到了什么错误?你的意思是什么-你得到了崩溃,还是你得到了编译错误?我得到了一个分段错误@demostenes通过澄清
foo::getdata
是否期望向量之前已经添加了两个元素来改善这个问题,或者您是否希望它现在添加两个元素。foo::getdata从外部文件读取一个变量。我只想从导入的文件中读取一个数据,并分配给struct@acraig5075I中的变量。我在jon中有一个some元素。它如何可以是一个空结构。你能详细说明一下吗mistake@CodeConfusion:“我在jon中有一个元素”而不是在你给我们看的代码中。“jon是一个结构,里面有一些变量。我试图访问变量@LightnessRacesinOrbitYour vector(jhon)中没有任何jon。你需要用foo::s.jhon.push_back()添加它们,这是私有的。@codeconflusion:“它内部有一些变量”,而不是在您向我们展示的代码中。