Поделиться через


Предупреждение компилятора (уровень 1) C4584

Class1: базовый класс "class2" уже является базовым классом класса "class3"

Определенный класс наследует от двух классов, один из которых наследует от другого. Например:

// C4584.cpp
// compile with: /W1 /LD
class A {
};

class B : public A {
};

class C : public A, public B { // C4584
};

В этом случае предупреждение будет выдано в классе C, так как оно наследует как от класса A, так и от класса B, который также наследует от класса A. Это предупреждение служит напоминанием о том, что необходимо полностью квалифицировать использование членов из этих базовых классов или ошибку компилятора будет создано из-за неоднозначности того, какой член класса вы ссылаетесь.