Condividi tramite


Errore del compilatore C2683

'cast': 'type' non è un tipo polimorfico

Osservazioni:

Non è possibile usare dynamic_cast per eseguire la conversione da una classe non polimorfica (una classe senza funzioni virtuali).

È possibile usare static_cast per eseguire conversioni di tipi non polimorfici. Tuttavia, static_cast non esegue un controllo in fase di esecuzione.

Esempio

L'esempio seguente genera l'errore C2683:

// C2683.cpp
// compile with: /c
class B { };
class D : public B { };

void f(B* pb) {
   D* pd1 = dynamic_cast<D*>(pb);  // C2683
   D* pd1 = static_cast<D*>(pb);   // OK
}