Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
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();
};