小编God*_*ius的帖子

标识符“迭代器”的语法错误

以下代码在 VS 2013 中引发两个编译器错误:

  1. 模板函数定义抛出

    错误 C2061:语法错误:标识符“ iterator

  2. 该模板函数的特化会抛出异常

    错误 C2912:显式特化“ double getFillIn<double,double>(fillInOptions,double,std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const _Kty,_Ty>>>>,inputLoader *,va_list)”不是函数模板的特化

谁能解释一下为什么吗?我相当确定第二个错误只是第一个错误的结果,但我不明白为什么它无法找出该iterator标识符。

#include <map>

template <typename T> class table {
};

template <typename S, typename T>
void f(S s, std::map<S, table<T>*>::iterator it);
Run Code Online (Sandbox Code Playgroud)

c++ syntax dictionary iterator std

-2
推荐指数
1
解决办法
3963
查看次数

标签 统计

c++ ×1

dictionary ×1

iterator ×1

std ×1

syntax ×1