读书人

好像是一个关于C++作用域的有关问题

发布时间: 2012-02-12 17:16:33 作者: rapoo

好像是一个关于C++作用域的问题
std::list < int > g_IDList;
void DeleteIDFromList( int _ID )
{
std::list < int > ::iterator itor= g_IDList.begin();
std::list < int > ::iterator itor_e
= g_IDList.end();
for( ; itor != itor_e ; ++itor )
{
if( *itor == _ID ) { g_IDList.erase( itor ); }
}
}


看一下这段程序错在那里,有什么用.谢谢

[解决办法]
if( *itor == _ID ) { g_IDList.erase( itor ); }
==》
if( *itor == _ID ) { itor = g_IDList.erase( itor ); } //使用新的返回的迭代器

读书人网 >C++

热点推荐