#include <iostream>
#include <vector>
#include <list>
using namespace std;
int main()
{
vector<list<string> > testList;
testList[2].push_back("ADA");
return 0;
}
当程序运行时,它有一个线程。 信号:&#34; EXC_BAD_ACCESS&#34;
我认为这是因为非法内存访问, 但我不知道为什么以及如何解决它。
非常感谢
答案 0 :(得分:8)
testList
长度为0,因此您无法访问testList[2]
。
您可以将初始大小传递给std :: vector的c'tor,因此以下内容应该可以正常工作
vector<list<string> > testList(3);
testList[2].push_back("ADA");
答案 1 :(得分:3)
您的testList
的大小为0,因此您无法访问元素2.因为您需要调整它的大小:
testList.resize(3);