다음을 통해 공유


컴파일러 오류 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
}