Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
"Class": a base direta "Base2" está inacessível; já é uma base de "Base1"
Observações
Class já é diretamente derivada de Base1.
Base2 também é derivada de Base1.
Class não pode ser derivada de Base2 porque isso significaria herdar (indiretamente) de Base1 novamente, o que não é legal porque Base1 já é uma classe base direta.
Exemplo
O exemplo a seguir gera C2584.
// C2584.cpp
// compile with: /c
struct A1 {
virtual int MyFunction();
};
struct A2 {
virtual int MyFunction();
};
struct B1: public virtual A1, virtual A2 {
virtual int MyFunction();
};
struct B2: public virtual A2, virtual A1 {
virtual int MyFunction();
};
struct C: virtual B1, B2 {
virtual int MyFunction();
};
struct Z : virtual B2, virtual C { // C2584
// try the following line insted
// struct Z : virtual C {
virtual int MyFunction();
};