Assert funktioniert nicht!
-
void listeElementVornEntfernen(datenknoten * &knoten) { assert(knoten != NULL); // Liste darf nicht leer sein //damit darauffolgender Knoten nicht "verloren" geht: datenknoten * temp = knoten->naechsterKnoten; delete knoten; //knoten löschen knoten = temp; }Hallo!
dies ist eine Funktion einer einfach verketteten Liste. cassert hab ich includiert. Wenn ich den Assert teste, also eine leere Liste übergebe, passiert überhaupt nichts. wieso wirft er mir keinen assert??? (datenknoten ist übrigens ein struct)grüße
-
Hallo
assert(knoten);bis bald
akari
-
Hallo
Vielleicht funktioniert es so:
assert(!knoten.empty) ;Ich glaube, dass empty true zurück liefert, wenn die Liste leer ist.
chrische
-
Ist villeicht ganz hilfreich wenn man weiß was assert bedeutet:
http://dict.leo.org/?lp=ende&lang=de&searchLoc=0&cmpType=relaxed&relink=on§Hdr=on&spellToler=std&search=assertGruß
-
Versuch's mal mit nem Debug-Build... (NDEBUG darf ganz einfach nicht #defined sein)
-
akari schrieb:
assert(knoten);LOL

-
Viel wichtiger ist es zu wissen, wie man: assert funktioniert

(insbesondere: hast du eventuell irgendwo das Präprozessorsymbol "NDEBUG" definiert? Das schaltet nämlich die Assert's aus.)
-
akari schrieb:
assert(knoten);Nicht so gut. Je nach Implementation funktioniert das so nicht, da stellenweise ein expliziter bool gefordert wird. Wenn man auf verschiedenen Plattformen compiliert, gewöhnt man sich != 0 ganz schnell an

-
7H3 N4C3R schrieb:
akari schrieb:
assert(knoten);Nicht so gut. Je nach Implementation funktioniert das so nicht, da stellenweise ein expliziter bool gefordert wird.
Kannst du das mal näher erklären? Funktionieren tut das nämlich schon. Oder sprichst du hier über irgendwelche Warnungen?