Partager via


Erreur du compilateur C2897

Un destructeur/finaliseur ne peut pas être un modèle de fonction

Les destructeurs ou finaliseurs ne peuvent pas être surchargés, de sorte que la déclaration d’un destructeur en tant que modèle (qui définirait un ensemble de destructeurs) n’est pas autorisé.

Exemples

L’exemple suivant génère l’erreur C2897.

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

L’exemple suivant génère l’erreur C2897.

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