C++ 为什么向量不能访问嵌套结构中的变量?

C++ 为什么向量不能访问嵌套结构中的变量?,c++,variables,vector,struct,linked-list,C++,Variables,Vector,Struct,Linked List,发生此错误是因为您的所有列表都为空。在空容器上呼叫前台是违法的。如果我做对了 改变 "linked list iterator not dereferencable?" 到 这就是你需要的 vector<cells> hp(100, cells{{list<record>(1, record())}}); 在代码中,如果有一个100个列表的数组,那么实际上有100个列表,每个列表都未初始化。你不需要100张名单。您需要一个包含100条记录的列表。我已经在上面演示了如何

发生此错误是因为您的所有列表都为空。在空容器上呼叫前台是违法的。

如果我做对了

改变

"linked list iterator not dereferencable?"

这就是你需要的

vector<cells> hp(100, cells{{list<record>(1, record())}});
在代码中,如果有一个100个列表的数组,那么实际上有100个列表,每个列表都未初始化。你不需要100张名单。您需要一个包含100条记录的列表。我已经在上面演示了如何做到这一点


这可以编译,也可以正常工作。

单元格是由100个列表组成的数组。。。它们中的每一个都未初始化。

Chuck Norris可以在空容器上调用front。Chuck Norris可以在没有容器的情况下调用front。以指示出现问题的区域。我还修改了代码来显示向量和列表的大小,但仍然没有work@chucknorris:你说的名单有多大?你从不把任何东西放在你的清单上。你的名单是空的。你试图在一张空名单上给前线打电话。@Pubby-没有人问chucknorris他为什么有**。@chucknorris-如果可行,接受答案-。这将增加你和我的声誉。它也将作为一个记录,记录下哪个答案对你来说是正确的。
vector<cells> hp(100);
vector<cells> hp(100, cells{{list<record>(1, record())}});
struct cells
{
    list<record> rec;

    cells():rec(100) {}
};

vector<cells> hp(100);


int main()
{
    hp.front().rec.front().fName = "jon";
    return 0;
}