Salut, je débute dans le C++ et voila un probleme que je n'arrive pas a debugger

l'objet courant est sorted_nodes[i], un noeud qui correspond à l'ensemble des infos contenus dans un pixel d'une image.ppm.
ces noeuds sont classés dans l'ordre croissant de leur niveau de gris.

sorted_nodes[i] contient x et y sont les abs et ordonnées du pixel que decrit le noeud et également les pointeurs vers les 4 noeuds qui decrivent les pixels voisins du pixel de sorted_nodes[i]

je construit un arbre sur la base des sorted_nodes qui est fonction du niveau de gris. les pixels les plus clairs rentreront en premier, etc.


Alors imagine 2 noeuds VOISINS géographiquement i.e. nodes1 (x,y) et nodes2 (x,y+1)
imagine que j'ai leur indice respectif dans sorted_nodes[].
lorsque je fais afficher leur index respectif (index c'est la valeur qui correspond au rang d'entrée dans mon arbre)
avec sorted_nodes[..].GetIndex() j'ai des valeurs non nulles i1 et i2 donc tout va bien.

LE PROBLEME :

lorsque je demande d'afficher l'index du voisin de node1 (qui est i2, index de nodes2, tu me suis) et ben il me renvois 0 !
En fait j'ai regardé les variables dans le debug, tous les indices i des voisins de sorted_nodes[...] sont à 0 ! sinon toutes les autres variables sont normales (comme X Y ou I l'intensité) ya juste index qui bug.
et quand le sorted_nodes courant devient le voisin de l'ancien sorted_nodes courant il m'affiche la bonne valeur de i ?????
C'est comme si les noeuds se dédoublaient quoi.

Si t'as des idées...


merci pour votre aide si vous comprenez...