编译器错误 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
};