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