2013-02-16 3 views
1

Je semble obtenir une erreur de segmentation, et il semble que l'erreur provienne de l'appel à tra, mais je suis incapable de voir exactement quel est le problème avec le code que j'ai écrit. Je n'ai vraiment aucune idée, quelqu'un veut me donner un indice? Merci beaucoup. J'ai défini un noeud struct qui contient des éléments head, left et right. Je sais avec certitude que tra renvoie current quand il est nul, car je crée un arbre qui est vide au début, donc tous les nœuds seront vides.Implémentation d'arborescence binaire

+1

Aww, 'new' comme nom de variable dans le code C? Que faire si quelqu'un essaie de le compiler en utilisant un compilateur C++? –

+0

Je pense que vous avez besoin de revoir ce que vous avez posté - le code ne semble pas assez complet pour offrir des opinions sur. – DrC

+0

@ H2CO3: mais la question est étiquetée comme 'c', et pourquoi essayerait-il de compiler du code C avec un compilateur C++. :) plus facile simplement de lier le code objet s'il veut écrire en C++ ou en assemblage. – emil

Répondre

1

Il y a des trucs bizarres.

if (current == NULL) 
    return current; 

Pourquoi return current Pourquoi? Le courant est null?

struct node *new = tra(table -> head, input); 

tra prend un seul argument?

Je vous recommande d'utiliser gdb. Apprenez à l'utiliser maintenant, et il vous donnera le pouvoir de répondre à cette question vous-même. Ce n'est pas difficile.

+1

+1: Ok, je l'admets. La réponse est décente au mieux, mais votre nom est juste fing * génial *. – WhozCraig

+0

haha ​​je ne sais vraiment pas quoi dire. Le code est insuffisant pour faire autre chose que de deviner, et OP semble confus :( – slezica

+1

Je suis d'accord, alors dites-moi, qu'est-ce que je tape pour m'envoyer un commentaire cible (@username) comme caractère d'ouverture. un couper/coller semble un peu dur = P (btw vous nomme des pâtes dans un éditeur Xcode très bien, qui m'a franchement surpris.) – WhozCraig

1

tra semble suspect. À quoi sert le chèque? Si current est NULL le retourner, sinon tomber de la pile et retourner la corbeille à l'appelant.

+0

Je viens de supprimer le reste du code, car ce n'était pas nécessaire pour cela. Laissez-moi le modifier pour le rendre plus facile. – user1899174

+1

@ user1899174 Il semble que vous avez supprimé beaucoup plus que nécessaire pour comprendre votre problème. S'il vous plaît poster quelque chose qui est capable de reproduire le problème. – pmr

Questions connexes