现在我有一个这样的模板方法:
template<typename T>
void f(typename vector<T>::iterator it)
{
//implemenation
...
}
int main()
{
vector<int> v;
//initialization of v;
...
f(v.begin());
return 0;
}
但是当我编译为“g++ THIS_FILE -o TARGET_RUNNABLE”时,编译器说
no matching function for call to ‘f(std::vector<int>::iterator)’
template argument deduction/substitution failed:
couldn't deduce template parameter ‘T’
我确实意识到在 vector::iterator 之前添加关键字“typename” 。但这仍然是错误的。有谁知道如何解决这个问题?