Erro do Compilador C2500
'identifier1': 'identifier2' já é uma classe base direta
Uma classe ou estrutura é exibida mais de uma vez em uma lista de classes base.
Uma base direta é uma mencionada na lista de base. Uma base indireta é uma classe base de uma das classes na lista base.
Uma classe não pode ser especificada como uma classe base direta mais de uma vez. Uma classe pode ser usada como uma classe base indireta mais de uma vez.
O seguinte exemplo gera o erro C2500:
// C2500.cpp
// compile with: /c
class A {};
class B : public A, public A {}; // C2500
// OK
class C : public A {};
class D : public A {};
class E : public C, public D {};