共用方式為


編譯器錯誤 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
}