모두. 왜 벨로우즈 코드가 작동하려면 캐스트가 필요한지 알 수 없습니다. 누군가 그것을 설명 할 수 있습니까? Base
이 (공변) 허용한다면, 당신은 다음 노 아니오없는이, 할 수 있기 때문에구성원 기본 클래스에 대한 포인터
class Base {
};
class Derived : public Base {
};
class Class {
public:
Derived member;
};
...
Derived obj;
Base *ptrObj = &obj; // ok, no cast needed
Derived Class::* ptr = &Class::member; // ok
Base Class::* ptr = &Class::member; // wrong, need cast, why?
이전에이 구문을 본 적이 없습니다. 어떤 사람이 나를 의미하는 것에 연결 시키면 이러한 것들을 검색하는 것은 불가능합니다. –
이것은 포인터를 가리키는 포인터입니다. :-) –