Compiler Error C2909

'identifier': explicit instantiation of template function requires return type

An explicit instantiation of a function template requires its return type to be explicitly specified. Implicit return type specification will not work. For example:

template<class T> int f(T);
template f<int>(int);   //illegal -- causes the error to occur
template int f<int>(int);   // legal