我正在尝试从另一个矢量列表中删除矢量列表,但是一旦我到达程序的特定部分,程序就会停止响应。这是程序:
#include<iostream>
#include<vector>
#include<iterator>
int main(){
using namespace std;
vector<int> a(5);
int ints[3] = {2,3,5};
vector<int> b(ints,ints+3);
for(int i=0; i<5; i++){
a[i] = i+1;
}
vector<int> :: iterator pra;
vector<int> :: iterator prb;
cout << "initial list:";
for(pra = a.begin(); pra!=a.end(); pra++){
cout << *pra << " ";
}
cout << endl;
for(pra = a.begin(); pra!=a.end(); pra++){
for(prb = b.begin(); prb!=b.end(); prb++){
if(*pra == *prb){
cout << *pra << " ";
a.erase(pra);
b.erase(prb);
break;
}
}
}
cout << " Final List:";
for(pra = a.begin(); pra!=a.end(); pra++ ){
cout << *pra << " ";
}
}