编译器错误 C2635
无法将“identifier1*”转换为“identifier2*”;表示从虚拟基类的转换
转换需要从 virtual
基类强制转换为派生类,但这是不允许的。
下面的示例生成 C2635:
// C2635.cpp
class B {};
class D : virtual public B {};
class E : public B {};
int main() {
B b;
D d;
E e;
D * pD = &d;
E * pE = &e;
pD = (D*)&b; // C2635
pE = (E*)&b; // OK
}