return ohne Wert
-
Hallo,
wenn ich eine Funktion habe, die einen int zurueckgibt, also z.B. int foo(); und in dieser Funktion steht nun ein simples "return;" ohne int variable! Das kompiliert bei mir seltsamerweise. Nur welchen Wert gibt er dann zurueck?
-
Klassischer Fall: undefiniertes Verhalten.
Es wird irgendwas im int Wertebereich zurückgegeben und nicht bei jedem Durchlauf unbedingt das Gleiche.
-
returner schrieb:
Hallo,
wenn ich eine Funktion habe, die einen int zurueckgibt, also z.B. int foo(); und in dieser Funktion steht nun ein simples "return;" ohne int variable! Das kompiliert bei mir seltsamerweise. Nur welchen Wert gibt er dann zurueck?
Du solltest mit -Wall compilieren, dann sollte der Compiler Warnings bei solchen Sachen ausgeben. Evtl. noch -pedantic dazunehmen.
Wenn so etwas stumm geschluckt wird, macht das bei einem Fünfzeiler nichts, aber vergessene returnpaths können schon bei kleinen Projekten Herde der Verzweiflung bedeuten.