<分区>
Possible Duplicate:
Can you remove elements from a std::list while iterating through it?
我想在遍历时从列表中删除项目。我以前做过这个,但不知何故,这个简单的例子让我失望了。提前感谢您的帮助!
#include<iostream>
#include<list>
using namespace std;
void main()
{
list<int> x;
for ( int i =0;i<10; i++)
x.push_back(i);
for( list<int>::iterator k = x.begin(); k != x.end();k++)
cout<<*k<<" ";
cout<<endl;
for( list<int>::iterator k = x.begin(); k != x.end();k++)
{
if ((*k)%2)
{
x.erase(k);
}
}
cout<<endl;
getchar();
}