所以我正在通过这样的映射初始化迭代器:
std::map<K, V>::iterator it = m_map.find(begin);
我正在使用GCC(7.2.0)编译器,该编译器给了我这些错误:
1.prog.cc:187:9:错误:在'unit_test :: std :: map :: iterator'之前需要'typename',因为'unit_test :: std :: map'是一个依赖范围 std :: map :: iterator it = m_map.find(begin); 2. prog.cc:187:34:错误:预期为';'在“它”之前 std :: map :: iterator it = m_map.find(begin);
我不认为我将其初始化为错误,但是如果有人可以提供帮助并且知道我必须更改的内容,我将不胜感激。
答案 0 :(得分:1)
您可以简单地使用auto
关键字来代替对迭代器的类型进行硬编码:
auto it = m_map.find(begin);
这样,it
的类型将从其初始值设定项(在这种情况下为m_map.find(begin)
)推导。