J'ai la suivante (tronquée) déclaration de classe:Déréférencer une erreur de pointeur de membre: ne peut pas être utilisé comme pointeur de membre
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;
}
Et le constructeur de copie de btree est mis en œuvre ainsi:
template <typename T>
btree<T>::btree(const btree<T>& original)
{
headNode = new btree_node(original.*headNode);
}
original. * HeadNode est censé retourner btree_node que pointe original.headNode, correspondant ainsi aux arguments constructeurs de copie de btree_node.
Cependant je reçois l'erreur suivante:
error: '((btree*)this)->btree::headNode' cannot be used as a member pointer, since it is of type 'btree::btree_node*'
Qu'est-ce que je fais mal?
Merci beaucoup pour cela, je comprends maintenant :) – Arvin