请大家来看一下这个erase函数到底怎么用 这个程序编译倒是能通过 可运行时会显示错误 “嘭”一声弹出个对话框Debug Assertion Failed!我觉得肯定是erase函数用法不对 可是找不到错误在哪儿 请大家指导一下了~~~ 对了程序功能是删除vector对象中的偶数和list对象中的奇数 #include<iostream> #include<vector> #include<list> using namespace std; int main() { int ia[10]={2,3,4,5,6,7,8,9,10,11}; vector<int> ivec(ia,ia+10); //定义一个vector对象ivec vector<int>::iterator iter=ivec.begin(); list<int> lvec(ia,ia+10); //定义一个list对象lvec list<int>::iterator lter=lvec.begin(); while(iter!=ivec.end() && lter!=lvec.end()) { if(*iter%2==0) ivec.erase(iter); if(*lter%2!=0) lvec.erase(lter); ++iter; ++lter; } for(iter=ivec.begin(); iter!=ivec.end(); ++iter) cout<<*iter<<" "; cout<<endl; for(lter=lvec.begin(); lter!=lvec.end(); ++lter) cout<<*lter<<" "; cout<<endl; system("PAUSE"); return 0; }
慕容3067478
相关分类