读书人

想做一个对List迭代器相加的操作但是

发布时间: 2012-02-09 18:22:27 作者: rapoo

想做一个对List迭代器相加的操作,但是问题出在哪里?
#include <iostream>
#include <list>
using namespace std;

list<int>::iterator& operator+(list<int>::iterator &iter,int a)
{
for(int i=0;i<a;i++)
iter++;
return iter;
}


void main()
{
list<int> lis(10);
list<int>::iterator iter;
for(int i=0;i<10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout<<*iter<<endl;//这里为什么每次打印都是0呢????
}

[解决办法]
#include <iostream>
#include <list>
using namespace std;

list <int>::iterator& operator+(list <int>::iterator &iter,int a)
{
for(int i=0;i <a;i++)
iter++;
return iter;
}


void main()
{
list <int> lis;
list <int>::iterator iter;
for(int i=0;i <10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout < <*iter < <endl;//这里为什么每次打印都是0呢????
}

读书人网 >C++

热点推荐