회원 포인터 오류를 역 참조 : 회원 포인터로 사용할 수 없습니다
다음과 같은 (잘린) 클래스 선언이 있습니다 :template <typename T>
class btree
{
public:
btree(const btree<T>& original); //This is btree's copy constructor
private:
struct btree_node
{
btree_node(const btree_node &other)
{
//This is node's copy constructor
}
}
btree_node* headNode;
}
그리고 btree의 복사 생성자는 다음과 같이 구현됩니다 :
template <typename T>
btree<T>::btree(const btree<T>& original)
{
headNode = new btree_node(original.*headNode);
}
original. * headNode는 원래 btree_node를 반환합니다. headNode가 가리키고 있으므로 btree_node의 복사 생성자 인수가 일치합니다.
그러나 다음과 같은 오류가 발생합니다.
error: '((btree*)this)->btree::headNode' cannot be used as a member pointer, since it is of type 'btree::btree_node*'
무엇을 잘못하고 있습니까?
감사합니다. – Arvin