Compiler Error C2287

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

A class was declared with a more simple representation than was required.

The following example causes this error when compiled using the "General-purpose always" representation method (/vmg):

class __single_inheritance X;

struct A { };
struct B { };
struct X : A, B { };  // error, X uses multiple inheritance