【发布时间】:2018-04-19 12:05:53
【问题描述】:
试图创建模板函数什么 couts std::map 元素,得到这个错误。我知道地图有四个模板参数,但两个有默认值,无法理解我必须做什么。
template<typename key, typename val> void arr_out (std::map<key, val>::iterator begin, std::map<key, val>::iterator end)
{
std::cout << "map: " << std::endl;
while(begin != end)
{
std::cout << (*begin).first << ": " << (*begin).second << std::endl ;
begin++;
}
std::cout << std::endl;
}
- 错误:变量或字段“arr_out”声明为无效
- 错误:在“开始”之前应为“)”
- 错误:在“开始”之前应为“)”
【问题讨论】:
-
在两个位置的
std::map<key,val>::之前添加一个typename。 -
@AndyG 还有错误even if you do that
-
@Borgleader 仅当您依赖模板参数推导时
标签: c++