map 简单问题,输出时提示iterator not dereferencable

list<map<int,A>>lista;for(inti=0;i<5;i++){map<int,A>m_map;for(intj=0;j<2;j++){Aaa1(i,... list<map<int,A>> lista;
for(int i = 0;i<5;i++)
{
map<int,A> m_map;
for(int j=0;j<2;j++)
{
A aa1(i,j);
m_map.insert(map<int,A>::value_type(j,aa1));
}
lista.push_back(m_map);
}
list<map<int,A>>::iterator mlist;
map<int,A>::iterator nmap;
for (mlist=lista.begin();mlist!=lista.end(); ++mlist)
{
for(nmap = (*mlist).begin();nmap!=(*mlist).end(); ++nmap);
{
cout<<"map:first--"<<nmap->first<<";sencod--"<<nmap->second.getAdd()<<endl;
}
}
展开
 我来答
百度网友e43033c
推荐于2018-04-05 · TA获得超过1130个赞
知道小有建树答主
回答量:933
采纳率:100%
帮助的人:954万
展开全部
for(nmap = (*mlist).begin();nmap!=(*mlist).end(); ++nmap);

最后多了个 ;
这样你就会一直循环到(*mlist).end(),而下面一行的操作就是对不可访问迭代器取值了,去掉分号即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式