[Verkettete Liste] Fehler im DebugModus
-
geh mal Zeichenweise vor und schick dann einfach die paar problematischen Zeilen
-
MFK schrieb:
Warum benutzt du nicht einfach mal den Debugger?
Im Releasemode schwer, nech?? ;P
Im Debugmode hab ich da ja gamecht, da stürzt es ab, sobald das letzte Listenelem,ent vernichtet werden soll.
void C_Node::DeleteAll() { if (myPrevious) { myPrevious->DeleteAll(); if (!myNext) return; delete this; } }
Das ist der problematische Teil!
Aber wie gesagt nur im debugmode, im releasemode scheint(!!) alles wunderbar zu laufen....
-
Ich würd mal sagen:
Versuchs ohne delete this
-
er stürzt bei
delete pchar ;ab.
als workaround würde ich ein
char pChar;
benutzen, aber warum er das tut, dafür ist es mir jetzt zu spät
-
cin >> pChar
durch
cin >> *pChar ersetzen
Oder besser das was elise schrieb.
Für was brauchst Du das delete this ?
-
Knuddlbaer schrieb:
Für was brauchst Du das delete this ?
Ohne das "delete this;" würde die methode keinen sinn ergeben, weil sich das objekt nicht vernichtet
Das Vorhaben war ja, dass ich nur eine Klasse brauche für eine komplett funktionierende Verkettete Liste.Aber ihr habt recht, so klappts, thx ^^
mal wieder ein ziemlich banaler Fehler ^^#PS: Falls wer grundlegende verbesserungsvorschläge hat, nur zu ^^
-
Ah jetzt ja
-
Warum benutzt du nicht einfach mal den Debugger?
Im Releasemode schwer, nech?? ;P
Es soll auch möglich sein, die Release Version zu debuggen. Schau mal unter:
http://www.codeguru.com/debug/index.shtml
http://www.codeguru.com/debug/release_ver.shtml
-
wg. delete this:
Wie verhinderst du, dass C_Node-Objekte auf dem Stack oder statisch erzeugt werden?
-
tja, das ist in der Tat ein Problem... Vorallem für die Delete Methode...
"Verhindert" wird es im Moment nur so, dass ich es nicht mache