Compartir a través de


Error del compilador C2635

no se puede convertir 'identificador1*' a 'identificador2*'; implica la conversión de una clase base virtual

La conversión requiere una conversión de una clase base virtual a una clase derivada, que no se permite.

El ejemplo siguiente genera el error 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
}