Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
'cast' : 'type' n’est pas un type polymorphe
Remarques
Vous ne pouvez pas utiliser dynamic_cast pour convertir à partir d’une classe non polymorphe (une classe sans fonctions virtuelles).
Vous pouvez utiliser static_cast pour effectuer des conversions de types non polymorphes. Toutefois, static_cast n’effectue pas de vérification au moment de l’exécution.
Exemple :
L’exemple suivant génère l’erreur 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
}