編譯器錯誤 C2683
'cast' : 'type' 不是多型類型
您無法使用 dynamic_cast 從非多型類別轉換(沒有虛擬函式的類別)。
您可以使用 static_cast 來執行非多型類型的轉換。 不過, static_cast
不會執行運行時間檢查。
下列範例會產生 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
}