【发布时间】:2014-11-11 16:23:11
【问题描述】:
试图实现一个 printMap 类,这显然是为了打印我正在使用的地图的内容,它没有编译抱怨 std::map::iterator 中的输入类型。我如何摆脱这个问题并编译它?
template <class tagType, class valueType>
void printMap (const std::map<tagType, valueType>& myMap)
{
if (myMap.size()== 0)
return;
if (DEBUG_PRINT) {
std::map<tagType, valueType>::const_iterator it = myMap.begin();
std::map<tagType, valueType>::const_iterator itEnd = myMap.end();
std::cout << "================================================================================" << std::endl;
for (; it != itEnd; it++)
std::cout << (*it).first << ":" << (*it).second << std::endl;
std::cout << "================================================================================" << std::endl;
}
return;
}
错误:在“std::map::const_iterator”之前需要“typename”,因为“std::map”是 依赖范围 std::map::const_iterator it = myMap.begin(); ^
【问题讨论】: