编译器警告(等级 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。此警告提醒你必须完全限定使用这些基类的成员的使用,否则将生成编译器错误,因为你引用的类成员存在歧义性。