Compiler Error C2287

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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

class': inheritance representation: 'representation1' is less general than the required 'representation2'

A class is declared with a simpler representation than required.

The following sample generates C2287:

// C2287.cpp  
// compile with: /vmg /c  
class __single_inheritance X;  
class __single_inheritance Y;  
  
struct A { };  
struct B { };  
struct X : A, B { };  // C2287  X uses multiple inheritance  
struct Y : A { };  // OK  

Show: