gpt4 book ai didi

c++ - 如何迭代 map 的 C++ map

转载 作者:行者123 更新时间:2023-11-30 02:07:32 24 4
gpt4 key购买 nike

我有一张 map 的 map

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))))â

如何迭代map的map?

最佳答案

从您发布的错误可以看出您是在类成员 const 函数中执行此操作。 myMap 是否有可能恰好是该类的成员?如果是这样,您需要的是改用 const_iterator。无论如何你都应该这样做,因为你不希望修改迭代元素的内容。

关于c++ - 如何迭代 map 的 C++ map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com