다음을 통해 공유


컴파일러 오류 C2635

는 'identifier1*'을 'identifier2*'로 변환할 수 없습니다. 가상 기본 클래스에서의 변환은 암시됩니다.

변환을 수행하려면 기본 클래스에서 virtual 파생 클래스로 캐스팅해야 합니다. 이 클래스는 허용되지 않습니다.

다음 샘플에서는 C2635를 생성합니다.

// C2635.cpp
class B {};
class D : virtual public B {};
class E : public B {};

int main() {
   B b;
   D d;
   E e;

   D * pD = &d;
   E * pE = &e;
   pD = (D*)&b;   // C2635
   pE = (E*)&b;   // OK
}