我有以下的(截)類聲明:解引用成員指針錯誤:不能用作成員指針
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;
}
而B樹的拷貝構造函數實現這種方式:
template <typename T>
btree<T>::btree(const btree<T>& original)
{
headNode = new btree_node(original.*headNode);
}
original * headNode應該返回original.headNode指向的btree_node,從而與btree_node的拷貝構造函數參數匹配。
不過,我得到以下錯誤:
error: '((btree*)this)->btree::headNode' cannot be used as a member pointer, since it is of type 'btree::btree_node*'
我在做什麼錯?
感謝一堆爲此,我現在明白了:) – Arvin