A *에서 C *로 암시 적 변환이 필요합니다. A의 정의 또는 구현을 변경할 수 없습니다.암시적인 방식으로 다른 유형 간의 유형 변환
class A
{
};
struct B: public A
{
};
struct C: public B
{
};
난 다음 쓸 때 :
A* p;
C* q = p;
내가 오류 C2440을 얻고있다; A *에서 C *로 변환 할 수 없습니다. A. 내가 변경할 수없는 사실을 알려주는 것은 무엇입니까 A. 두 클래스 모두 기본 데이터의 일반 구조체입니다. 이 작업을 수행 할 수
C를 변경할 수 있으면 A *를 취하는 변환 생성자를 만들 수 있습니다. A가 실제로 C라는 사실을 확실히 알고 있다면 dynamic_cast 또는 static_cast 을 사용할 수 있습니다. A가 C가 아닌 경우 자신이하는 일을 다시 생각해보십시오. –