编译器错误 C2897
析构函数/终结器不能是函数模板
析构函数或终结器不能重载,因此不允许将析构函数声明为模板(它将定义一组析构函数)。
示例
以下示例生成 C2897。
// C2897.cpp
// compile with: /c
class X {
public:
template<typename T> ~X() {} // C2897
};
以下示例生成 C2897。
// C2897_b.cpp
// compile with: /c /clr
ref struct R2 {
protected:
template<typename T> !R2(){} // C2897 error
};