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