vector<vector<int>> m;
m.resize(1000);//注释1
vector<int>temp1;
vector<int>temp2;
int n;
cin >> n;
for (int i = 0; i < n; i++){
int a, b;
if (i >= m.size() || i<0 ) { cout << "vetcor下标越界" << endl; break; }
cin >>a>>b;
m[i].resize(2);//注释2
m[i].push_back(a);
m[i].push_back(b);
}
没加注释1时一直报错下标越界,注释2好像没什么影响。背后逻辑主要是vector和array不同。