编译器错误 C2768

“function”: 非法使用显式模板参数

备注

编译器无法确定某个函数定义应该是某个函数模板的显式专用化,还是新函数。

此错误是在 Visual Studio .NET 2003 中引入的,属于编译器一致性增强的一部分。

示例

以下示例生成 C2768:

// C2768.cpp
template<typename T>
void f(T) {}

void f<int>(int) {}   // C2768

// an explicit specialization
template<>
void f<int>(int) {}

// global non-template function overload
void f(int) {}