Compartir a través de


Error del compilador C2897

un destructor o finalizador no puede ser una plantilla de función

Los destructores o finalizadores no se pueden sobrecargar, por lo que no se permite declarar un destructor como una plantilla (lo que definiría un conjunto de destructores).

Ejemplos

En el ejemplo siguiente se genera C2897:

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

En el ejemplo siguiente se genera C2897:

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