Compiler Error C2768
The latest version of this topic can be found at Compiler Error C2768.
function' : illegal use of explicit template arguments
The compiler was unable to determine if a function definition was supposed to be an explicit specialization of a function template or if the function definition was supposed to be for a new function.
This error was introduced in Visual Studio .NET 2003, as part of the compiler conformance enhancements.
The following sample generates C2768:
// C2768.cpp
template<typename T>
void f(T) {}
void f<int>(int) {} // C2768
// an explicit specialization
template<>
void f<int>(int) {}
// global nontemplate function overload
void f(int) {}