所以我通过这样的映射初始化一个迭代器:
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:错误:在"it"之前预期";" std::map::iterator it = m_map.find(begin(;
我不认为我初始化错误,但如果有人可以提供帮助并知道我必须更改什么,我将不胜感激。
无需对迭代器的类型进行硬编码,只需使用auto
关键字:
auto it = m_map.find(begin);
这样,it
的类型将从其初始值设定项中推断出来(在本例中为m_map.find(begin)
(。