J'ai un très sérieux problème. J'ai un arbre binaire et je veux me déplacer dans l'arbre pendant que je trouve un noeud exact. J'ai ce code:Fonction pour trouver un nœud se bloque
template<class T>
void Tree<T>::CheckTwoTimes(Node<T> *node, Node<T> *original)
{
if(node == original) cout << "This is it" << endl;
CheckTwoTimes(node->Left, original); //It gives error here
CheckTwoTimes(node->Right, original);//And maybe it will give it here
}
original
est le nœud que je cherche. Mais quand je cours le programme il se bloque juste et me montre sur quelle ligne est le problème. Je ne sais pas ce qui ne va pas. Peut-être que je ne passe pas le paramètre du pointeur comme il se doit.
j'appelle la fonction de cette façon:
CheckTwoTimes(root, find); //**find** is for example the most left node
Vous devez probablement effectuer des vérifications nuls si les enfants sont NULL. Le déréférencement nul entraînera une erreur. Ce qui me rappelle. Quelle erreur obtenez vous? – Borgleader
Merci beaucoup. Cela a aidé. Je n'ai pas eu une erreur de compilation ordinaire. J'utilise Visual Studio 2010 et quand je cours le programme il plante et une petite flèche jaune apparaît dans le code avant la ligne. –