在C ++中使用集合向量时的分段错误

时间:2017-11-29 03:48:51

标签: c++ vector set codeblocks

#include<iostream>
#include<vector>
#include<bits/stdc++.h>
using namespace std;

int main(){
vector< set< int > > A;
A[0].insert(1);
A[0].insert(2);
}

当我在Codeblocks上运行ode时,我得到了分段错误。任何人都可以回答为什么我会收到此错误和解决方案以避免此代码中的分段错误。

2 个答案:

答案 0 :(得分:5)

由于A是空向量,A[0]不引用有效对象。所以你不应该在上面调用insert

答案 1 :(得分:1)

Vector A在您调用它之前是空的, 所以调用A [0]是违法的; 之前插入一些东西。