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.


Anmelden zum Antworten