1
我有地圖的地圖如何遍歷一個C++地圖地圖
std::map< int, std::map<string, double> > myMap;
std::map< int, std::map<string, double> >::iterator itr;
與遍歷它:
itr = myMap.find(nodeI);
if (itr == myMap.end())
{
exit(1) ;
}
導致錯誤:
error: no match for âoperator=â in âitr = ((const PushList*)this)->PushList::myMap.std::map<:_Key, _Tp, _Compare, _Alloc>::find [with _Key = int, _Tp = std::map<:std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> >, double, std::less<:std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> > >, std::allocator<:std::pair<:const std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> >, double> > >, _Compare = std::less<:int>, _Alloc = std::allocator<:std::pair<:const int, std::map<:std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> >, double, std::less<:std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> > >, std::allocator<:std::pair<:const std::basic_string<:char, std::char_traits<:char>, std::allocator<:char> >, double> > > > >](((const int&)((const int*)((int*)nodeI))))â
我怎樣才能迭代地圖的地圖?
a-circumflex('â)字符來自哪裏?他們是在原始錯誤消息,還是由於字符翻譯問題? – outis
示例代碼(當最小代碼被添加以便編譯時)不會產生錯誤。請用[最小測試種姓](http://sscce.org/)更新您的問題。 – outis
你是否對iterator執行了任何操作而不是對end()進行檢查?你可以使用count()方法: 'if(myMap.count(nodeI)== 0){exit(1); }' – MtnViewJohn