Поделиться через


Ошибка компилятора C2897

Деструктор или метод завершения не может быть шаблоном функции

Деструкторы или методы завершения не могут быть перегружены, поэтому объявление деструктора в качестве шаблона (которое определяет набор деструкторов) не допускается.

Примеры

Следующий пример приводит к возникновению ошибки C2897.

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

Следующий пример приводит к возникновению ошибки C2897.

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