首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

迭代器冲突,请大家帮忙看看咋回事

2013-01-18 
迭代器冲突,请大家帮忙看看怎么回事?mapUINT32,templateItem::iterator itDscp mapDSCP.find(srcIP)/

迭代器冲突,请大家帮忙看看怎么回事?


map<UINT32,templateItem>::iterator itDscp = mapDSCP.find(srcIP);//找到了这条记录
if( itDscp == mapDSCP.end())//end()执行完,在判断是否相等时报错,
{
return false;
}

跟进去到这个函数
void __CLR_OR_THIS_CALL _Orphan_me()
{// cut ties with parent
if (_Mycont != 0 && _Mycont->_Myfirstiter != _IGNORE_MYITERLIST)
{// adopted, remove self from list
_Iterator_base **_Pnext =
(_Iterator_base **)&_Mycont->_Myfirstiter;
while (*_Pnext != 0 && *_Pnext != this)
_Pnext = &(*_Pnext)->_Mynextiter;

if (*_Pnext == 0)
_DEBUG_ERROR("ITERATOR LIST CORRUPTED!");
*_Pnext = _Mynextiter;
_Mycont = 0;
}
}

很纳闷,之前都是正常的。 map??迭代器??C++ iterator 失效
[解决办法]
这句话没问题,可能是前面定义过相同变量名

热点排行