'class2' : explicitly unmanaged class cannot derive from a managed 'class1'
A class that is explicitly defined as unmanaged cannot inherit from a managed class.
The following sample generates C3259:
#using <mscorlib.dll> __gc __interface A { }; __nogc class B : public A { // C3259 }; void main() { }