'Class' : 直接ベース 'Base2' にアクセスできません。既に 'Base1' のベースです
注釈
Class は既に Base1 から派生しています。
Base2 も Base1 から派生しています。
Class は Base2 から派生できません。これは、再び (間接的に) Base1 から継承することを意味します。Base1 は既に直接の基本クラスなので、これは不正です。
例
次の例では 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();
};