Compilerfehler C2897

Destruktor/Finalizer kann keine Funktionsvorlage sein

Da Destruktoren oder Finalizer nicht überladen werden können, ist die Deklaration eines Destruktors als Vorlage (wodurch eine Gruppe von Destruktoren definiert würde) nicht zulässig.

Im folgenden Beispiel wird C2897 generiert:

Beispiel

Im folgenden Beispiel wird C2897 generiert.

// C2897.cpp
// compile with: /c
class X {
public:
   template<typename T> ~X() {}   // C2897
};

Im folgenden Beispiel wird C2897 generiert.

// C2897_b.cpp
// compile with: /c /clr
ref struct R2 {
protected:
   template<typename T> !R2(){}   // C2897 error
};