迭代器的一个程序

最初级的程序,迭代器不是很清楚自己试着测试下,但是有一个错误好像是类型转化的问题,求高手指点一下,很简单,不用3分钟可以看完,指出问题就行了,谢谢#include<ios... 最初级的程序,迭代器不是很清楚自己试着测试下,但是有一个错误好像是类型转化的问题,求高手指点一下,很简单,不用3分钟可以看完,指出问题就行了,谢谢
#include <iostream>
#include <vector>
#include <string>
using namespace std;
/*int main(void)
{
vector<string>svec(10,"i am here");
vector<string>::iterator iter;
for(iter=svec.begin();iter!=svec.end();iter++)
cout<<*iter<<endl;
}*/
void see(const vector<int>*v1,vector<int> &v2,vector<int> &v3)
{
vector<int>::const_iterator iter;
for(iter=v1->begin();iter!=v1->end();iter++)
{
cout<<iter<<endl;
if(*iter%2)
v2.push_back(*iter);
else
v3.push_back(*iter);
}
for(iter=v2.begin();iter!=v2.end();iter++)
cout<<iter<<" "<<*iter<<endl;
}
int main(void)
{
vector<int>ivec,ivec1,ivec2;
for(int i=0;i<10;i++)
ivec.push_back(i);
see(ivec,ivec1,ivec2);
getchar();
}
展开
 我来答
百度网友47691c632
2010-05-08 · TA获得超过1436个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:585万
展开全部
最明显的错误是see(ivec,ivec1,ivec2);这一句里,第一个参数应该是指向vector的指针,所以应该用&ivec。
然后几处cout<<iter,是想输出迭代器本身的值?好像没有太好的办法,可以考虑用cout<<iter - v1->begin()以及cout<< iter-v2.begin()之类代替
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式