共用方式為


編譯器錯誤 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
}