Wo ist die .exe Datei?
-
godcaresduazzl0cz schrieb:
ja, nur besser man gewöhnt sichs gleich an, in jeder funktion ein scheiß return reinzuschreiben
Das meldet dann der Compiler früh genug.
-
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
-
Meine Fresse! Entweder man weiß, wann man return hin zuschreiben hat, oder man weiß es nicht! Und main ist halt eine Ausnahme. Diese eine Ausnahme wird man sich als Programmierer ja merken können, oder? Falls nicht: Job als Programmierer an den Nagel hängen! Das ist nämlich die einfachste C++-Regel die es gibt.
Außerdem gibts auch Funktionen mit void-Rückgabetyp... ui, was mache ich nur? Hilfe! Schreib ich return hin oder nicht? Hui!
-
Dravere schrieb:
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
Weil Fehlervermeidung kein Selbstzweck ist. return schreibt man, wenn man etwas zurückzugeben hat, nicht weil eine Funktion etwas zurückgeben muss. Vielleicht fehlt ja mal nicht das return sondern die Funktion sollte eigentlich nichts zurückgeben.
-
Dravere schrieb:
drakon schrieb:
Das meldet dann der Compiler früh genug.
Wieso warten bis der Compiler einem anschreit, anstatt es gleich immer zu tun? Wieso Fehler verursachen, wenn man sie vermeiden kann?
Grüssli
Jo, klar.
Nur ist das etwas, was man gezwungenermassen beigebracht bekommt und man nicht "von-Anfang-an-besser-richt-macht". Da gehören Dinge rein, die den Compiler/Laufzeitverhlaten nicht/selten stören. Wie z.B. Varibeln Benennung, Schnittstellendesign usw. Das kann verheerende Folgen haben, aber wenn man einfach jedesmal nicht dran denkt einen Rückgabewert anzugeben, bevor man eine Funktion neu compiled, dann weiss ich auch nicht.
Das kriegt man auf die harte Tour beigebracht. Wäre schön, wenn alle Fehler so klar wären. (mal abgesehen von einem vergessenen return in versch. Programmpfaden, aber sogar da gibts bei modernen Compilern eine Warnung..)
-
Bulli schrieb:
Meine Fresse!
Eine Fresse um sie alle zu Knechten ... oder so ähnlich
Bulli schrieb:
Entweder man weiß, wann man return hin zuschreiben hat, oder man weiß es nicht! Und main ist halt eine Ausnahme. Diese eine Ausnahme wird man sich als Programmierer ja merken können, oder?
Ich weiss ja nicht, aber ich merke mir nicht gerne noch zusätzliche Ausnahmen. Gerade für einen Newbie kann das extrem verwirrend sein, wenn die main-Funktion kein
return
hat, aberint foo()
ein return haben muss.Bulli schrieb:
Außerdem gibts auch Funktionen mit void-Rückgabetyp... ui, was mache ich nur? Hilfe! Schreib ich return hin oder nicht? Hui!
Du kannst
return
hinschreiben wenn du willst :p
Ich bringe jemandem lieber sowas bei:
void -> kein return
alles andere -> return
Sobald du noch eine Ausnahme reinpackst, verwirrt es die Leute. Egal wie simpel die ist.camper schrieb:
return schreibt man, wenn man etwas zurückzugeben hat, nicht weil eine Funktion etwas zurückgeben muss.
Und bei main will man ja auch den Erfolg des Programmes zurück geben. Wo ist also das Problem? Ich sehe nur eine deutliche Verkomplizierung für Anfänger, mehr nicht. Eine Ausnahme in einer Regel und die Ausnahme bringt nicht mal etwas. Also besser gleich fallen lassen.
Grüssli
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.