c++map报错 map/set iterators incompatible

来源:赵克立 分类: C/C++ 标签:map发布时间:2018-04-03 15:58:40浏览:85
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
温馨提示:
技术类文章有它的时效性,请留意文章更新时间以及软件的版本
更新时间:
2018-04-03 16:48:36

image.png

代码如下循环的时候是直接调用函数的返回值 

map<tstring, JsBindCallBack>::iterator ite = CCefWebKitUI::GetBindJsFuncMap().begin();
while (ite != CCefWebKitUI::GetBindJsFuncMap().end())
{
    //.......处理一些事情
    ite++;
}

出错代码下面的地方如下:


image.png

因为懒,所以直接调用啦两次函数来遍历,却忽略啦每次调用函数的时候返回的是两个内容相同的副本,但是他们的迭代器类型是不一样的,所以就报错啦

改成如下就可以啦

map<tstring, JsBindCallBack> tmap = CCefWebKitUI::GetBindJsFuncMap();
map<tstring, JsBindCallBack>::iterator ite = tmap.begin();
while (ite != tmap.end())
{
    //...
    ite++;
}



微信号:mokuyu QQ群:215861553 紧急求助须知
留下一点心意, :)
点击更换验证码
留言