Condividi tramite


Errore del compilatore C2635

impossibile convertire un 'identifier1*' in un 'identifier2*'; la conversione da una classe base virtuale è implicita

Osservazioni:

La conversione richiede un cast da una virtual classe di base a una classe derivata, che non è consentita.

Example

L'esempio seguente genera l'errore 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
}