Kompilatorfel C2683

"cast" : "type" är inte en polymorf typ

Anmärkningar

Du kan inte använda dynamic_cast för att konvertera från en icke-polymorf klass (en klass utan virtuella funktioner).

Du kan använda static_cast för att utföra konverteringar av icke-polymorfa typer. Utför dock static_cast ingen körningskontroll.

Exempel

I följande exempel genereras 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
}