Bonjour,
Le principe des pointeurs et des références est assez nouveau pour moi et, après plusieurs heures de recherche, je n'arrive toujours pas à comprendre comment arranger mon code.
J'ai la méthode suivante:
Le constructeur de la ligne A est déclaré comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void LeafNode::callConstructor(Node& parentNode, int kVar[], int kLeaf[], int &kLeafCount, int &leafCount){ [...] LeafNode * tmp = new LeafNode( parentNode, this ,kVar , kLeaf, kLeafCount, leafCount ); /*A*/ [...] }
La méthode callConstructor modifie à un certain moment l'objet parentNode, c'est pourquoi je le met en référence (&). Mais, à partir de là, tout s'embrouille entre référence, pointeur et objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part LeafNode::LeafNode (Node * parentNode, LeafNode * original ,int kVar[], int kLeaf[], int &kLeafCount, int &leafCount)
Est-ce qu'il faut vraiment utiliser une référence dans cette situation? Si non, comment je peux arriver à modifier l'objet? Si oui, comment je peux convertir cette référence en pointeur pour l'envoyer vers mon constructeur de LeafNode?
Merci d'avance, et pardonnez mon ignorance, je débute!







Répondre avec citation







Partager