Compiler Error C3830

'type1': cannot inherit from 'type2', value types can only inherit from interface classes

A value type cannot inherit a base class. For more information, see Classes and Structs.

Example

The following sample generates C3830:

// C3830a.cpp
// compile with: /clr /c
public value struct MyStruct4 {
   int i;
};

public value class MyClass : public MyStruct4 {};   // C3830

// OK
public interface struct MyInterface4 {
   void i();
};

public value class MyClass2 : public MyInterface4 {
public:
   virtual void i(){}
};