例如
vector< set<int> > MY_VECTOR_SETS;
MY_VECTOR_SETS[0].insert(1);
我正试图在MY_VECTOR_SETS
为零的情况下插入第一号。
答案 0 :(得分:0)
我更喜欢在为vector赋值之前使用方法resize:
MY_VECTOR_SETS.resize(5) //this makes your vector resize to size of 5;
MY_VECTOR_SETS[0] = 1; //assign value 1 to first element of vector
答案 1 :(得分:0)
为什么当我试图插入集合向量时,它会告诉我“向量下标超出范围”?
因为您正在尝试访问向量中不存在的集合。
默认构造的矢量为空。因此,零指数没有对象。尝试访问不存在的对象具有未定义的行为。
解决方案:在尝试访问第一组之前,请确保该向量至少包含一个集合。也许最简单的方法是使用一个创建非空向量的非默认构造函数。