DVL zahlenwerte in Binärbaum übergeben
-
@C91
Wer seine Zeiger nicht initialisiert darf sich auch nicht wundern, dass sie einem um die Ohren fliegen. Der MSVC Compiler ist sogar noch so nett und initialisiert sie mit 0xCDCDCDCD, damit man sieht, dass man selbst die Initialisierung vergessen hat.
-
Ich habe beide initialisiert:
node* head = NULL; node* z = NULL;
??
-
Und wie sieht dein Quelltext jetzt aus?
-
head und z ist global:
node* head = NULL; node* z = NULL;
In der Main habe rufe ich die Funktion auf und übergebe head:
displayTree(head);
Hier nochmal die Funktion:
void display(node* head){ if (head != z){ display(head->l); // Fehler ist noch immer hier. cout << "Wert: " << head->key << "Wert: " << head->info << endl; display(head->r); } }
-
Welchen Wert haben
head
undz
an der Stelle?
Btw:
Der Ausschnitt, den du zeigst, hilft nicht weiter. Erst schreibst du, dass dudisplayTree
aufrufst und sagst dann, dass der Fehler indisplay
auftritt. Wie ist da der Zusammenhang?
-
@DocShoe Ich habe es geändert, dait es lesbarer ist. Ist aber noch immer die gleiche Funktion.
-
@C91
Du musst dir auch helfen lassen. Ich habe dir zwei konkrete Fragen gestellt, von denen du keine beantwortet hast. Stattdessen Quelltextauszüge, die doch irgendwie doch nicht das sind, was du tatsächlich versuchst.
-
Ich kann den gesamten Code hier nicht posten. Das ist ja das Problem.
-
Was head bedeuten soll, ist klar. Aber wofür steht z?
Jedenfalls wirst du zwischen der Initialisierung (beide auf 0) und demdisplay
irgendwo eine der beiden Variablen geändert haben (vermutlich z), da deinif (head != z)
offenbar wahr ist. Wenn head noch nullptr ist, darfst du nicht aufhead->irgendwas
zugreifen.Wenn dein Code übrigens wirklich C++ sein soll, dann solltest du
nullptr
stattNULL
verwenden und deine DVL in einer Klasse implementieren. Und vermeide die globalen Variablen, die machen alles nur kompliziert.Versuche, erstmal nur Code für eine DVL zu schreiben. Und dann zu testen!
PS: in C++ nimmst du einfach std::list, das ist schon eine fertige DVL (allerdings möchte die Aufgabe vermutlich, dass du das selbst machst).
-
O.K., danke.
-
@wob ich könnte dir den code per PN zusenden. Das würde noch gehen.
-
@C91 sagte in DVL zahlenwerte in Binärbaum übergeben:
@wob ich könnte dir den code per PN zusenden. Das würde noch gehen.
Private Kommunikation mit Problemanalyse und -lösung nur gegen Geld. Und: hier kein Interesse.