以下代码在 VS 2013 中引发两个编译器错误:
错误 C2061:语法错误:标识符“
iterator”
错误 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)