Teilen über


Compilerfehler C2897

Ein Destruktor/Finalizer kann keine Funktionsvorlage sein

Bemerkungen

Destruktoren oder Finalizer können nicht überladen werden, sodass das Destruktieren eines Destruktors als Vorlage (die einen Satz von Destruktoren definieren würde) nicht zulässig ist.

Beispiele

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
};