Freigeben über


Compilerfehler C2635

'Identifier1*' kann nicht in einen 'Bezeichner2*' konvertiert werden; Die Konvertierung aus einer virtuellen Basisklasse wird impliziert.

Bemerkungen

Für die Konvertierung ist eine Umwandlung von einer virtual Basisklasse in eine abgeleitete Klasse erforderlich, die nicht zulässig ist.

Example

Im folgenden Beispiel wird C2635 generiert:

// 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
}