005
14.11.2010, 17:21 Uhr
0xdeadbeef
Gott (Operator)
|
Eigentlich ist die Warnung in Zeile 54, dass ein double-Wert in einen int-Wert umgewandelt wird. Ein int kann nicht alle Werte annehmen, die ein double annehmen kann, also gehen dabei mindestens die Nachkommastellen verloren.
Zweitens ist das Problem, dass um die Blöcke, die in die if-Abfrage sollen, die Klammern fehlen. Wenn mehr als eine Anweisung da rein soll, müssen diese zu einem Block zusammengefasst werden:
C++: |
if(bedingung) { anweisung1(); anweisung2(); anweisung3(); } else { anweisung4(); anweisung5(); }
|
Es ist allerdings generell eine gute Idee, hier Klammern zu setzen, auch wenn derzeit nur eine Anweisung im Block steht. Es ist übersichtlicher, und man merzt eine Möglichkeit aus, in der Zukunft Flüchtigkeitsfehler zu machen.
Eine weitere gute Angewohnheit ist übrigens, seinen Code sinnvoll einzurücken, so dass man solche Fehler gleich sieht. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 14.11.2010 um 17:21 Uhr von 0xdeadbeef editiert. |