Hallo ihr beiden!
Ich habe dafür eine Kontrolle geschrieben, die aber nicht
funktioniert hat weil ich „=“ statt „==“ geschrieben habe.
Da ist es (geht nicht immer, aber oft) sehr hilfreich, beim Vergleich die Konstanten links zu schreiben: „if (NULL = my_ptr) {…}“ lässt sich nämlich im Gegensatz zu „if (my_ptr = NULL) {…}“ nicht compilieren.
Mach’ Dir nix draus, ich hab’ schon mal > 1 Stunde debuggt,
weil ich immer wieder ein Semikolon unmittelbar nach einem
for() überlesen habe.
Ähm, das sollte übrigens jeder halbwegs brauchbare Compiler zumindest als Warning anmeckern. Immer mit dem höchsten Warning-Level compilieren, und am besten gleich auch Warnings als Fehler behandeln, dann kommt man gar nicht erst in Versuchung die eine oder andere Warning zu ignorieren (um dann die tatsächlich wichtige Warning zu übersehen).
Manchmal ist man einfach betriebsblind. Da hilft es zumindest
mir häufig schon, wenn ich einfach jemand anderem das Problem
erzähle. Der andere muss noch nicht mal was davon verstehen,
einfach durch’s erzählen komme ich oft auf die Lösung…
Das stimmt. Das liegt meiner Meinung nach daran, dass man in dem Fall gezwungen ist, das Problem aus einer völlig anderen Blickrichtung zu beschreiben, als man es selber gerade gesehen hat. Funktioniert bei mir mittlerweile übrigens manchmal auch schon, ohne dass es den „Anderen“ überhaupt gibt: Ich überlege mir, wenn ich vor einer Blockade stehe, wie ich das Problem jemand anderem erklären könnte, und komme dadurch dann (nicht besonders oft, aber doch hin und wieder) auf die Lösung.
Gruß aus Wien,
Martin