Export (0) Print
Expand All
Expand Minimize

Compiler Error C2897

a destructor/finalizer cannot be a function template

Destructors or finalizers cannot be overloaded, so declaring a destructor as a template (which would define a set of destructors) is not allowed.

The following sample generates C2897:

The following sample generates C2897.

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

The following sample generates C2897.

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

Community Additions

ADD
Show:
© 2014 Microsoft