C++基础问题 list容器的erase()函数相关

#include<iostream>#include<vector>#include<list>#include<deque&g... #include <iostream>#include <vector>#include <list>#include <deque>#include <string>using namespace std; /* Exercise Using the following definition of ia, copy ia into a vector and into a list. Use the single 9.26: iterator form of erase to remove the elements with odd values from your list and the even values from your vector. 假设有如下ia 的定义,将ia 复制到一个vector 容器和一个list 容器中。使用单个迭代器参数版本的erase 函数将list 容器中的奇数值元素删除掉,然后将vector 容器中的偶数值元素删除掉。 int ia[] = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89 }; */ int main(){ int ia[] = { 0, 1, 1, 2, 3, 5, 8,8,8, 13, 21, 55, 89,8}; size_t len = sizeof(ia)/sizeof(*ia); vector<int> ivect(ia,ia+len); list<int> ilist(ia,ia+len); for(list<int>::iterator iter = ilist.begin();iter!=ilist.end();) { if(*iter%2!=0){ ilist.erase(iter); //程序运行到这里会出错 //ilist.pop_front(); //if(iter==ilist.end()) // break; } else if ( iter!=ilist.end()){ cout << *iter <<"-->belongs to list<int> " << endl; ++iter; } } for(vector<int>::iterator iter = ivect.begin();iter!=ivect.end();) { if(*iter%2==0 ){ ivect.erase(iter); //if(iter==ivect.end()) // break; } else if (iter!=ivect.end()){ cout << *iter <<"-->belongs to vector<int> " << endl; ++iter; } } return 0;} 那位高手能帮我看下这个问题如何解决?谢谢 展开
 我来答
郑庆佳zqj
2011-11-26 · TA获得超过219个赞
知道答主
回答量:219
采纳率:0%
帮助的人:165万
展开全部
擦,什么来着,发整齐一点吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式