Compartilhar via


Erro do compilador C2897

um destruidor/finalizador não pode ser um modelo de função

Não é possível sobrecarregar destruidores ou finalizadores, portanto, não é permitido declarar um destruidor como um modelo (que definiria um conjunto de destruidores).

Exemplos

A amostra a seguir gera C2897.

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

A amostra a seguir gera C2897.

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