Compiler Error C3612


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C3612.

type': a sealed class cannot be abstract

Types defined with value (or __value) are sealed by default and a class is abstract unless it implements all methods of its base. A sealed abstract class can neither be a base class nor can it be instantiated.

For more information, see Classes and Structs.

The following sample generates C3612:

// C3612.cpp  
// compile with: /clr /c  
value struct V: public System::ICloneable {};   // C3612  
// OK  
value struct V2: public System::ICloneable {  
   Object^ Clone();