rückgabewert einer funktion
-
??? jetzt weiß ich aber trotzdem nicht wann man einen rückgabewert in klammer dazuschreiben muss und wann man die klammer einfach leer lässt oder void reinschreibt???
-
Verwechselst du gerade "Rückgabewert" mit "Parameter"? Beim Rückgabewert gibt's keine Klammern.
-
ich unterscheide da gerne zwischen funktion und prozedur:
prozedur:
void test (int *pa, int *pb); //hat keinen rückgabewert und arbeitet bleibend auf werten (zeigerübergabe)
funktion:
int test( int a, int b); //errechnet zum beispiel etwas und gibt [b]einen[/b] rückgabewert (ein ergebnis der berechnung...oder ähnliches) zurück.
zwar kann man in c und c++ beides mischen, aber die unterscheidung macht manchmal sinn.
-
ja habe mich vertan. meinte den parameter. sorry
-
Hi!
Du brauchst einen Parameter wenn du deiner Funktionen einen Wert übergeben willst, damit diesen den bearbeitet. Die Klammern lässt du leer (oder schreibst void rein), wenn deine Funktion keine Parameter benötigt sondern einfach nur was abarbeitet.
void bedeutet soviel wie "kein Wert erwartet" oder schlicht und einfach "nichts"/"leer".
Code-Hacker
-
Und falls es keinen eigenen Funktionen sind sondern fremde die du nicht kennst dann guck entweder in die Entsprechende header da sollte sie eigentlich drinn stehen mit allen parametern und dem Rückgabewert. Oder versuch es einfach der Compiler wird dir dann schon sagen wenn du zu viel hast oder zu wenig hast.
MfG schirrmie
-
Am schnellsten die Doku lesen oder unter Linux man pages besuchen.
-
schirrmie schrieb:
... Entsprechende header da sollte sie eigentlich drinn stehen mit allen parametern und dem Rückgabewert....
Sollte nicht nur, muss sogar, sonst hat der Compiler ein Problem.
-
ok. thx
-
Einen Rückgabewert brauchst du wenn du den Wert der Funtion in eine Variable schreiben willst z.b
//Prototyp mit rückgabewert int: int Funktion_foo(int bar1); int wert=Funktion_foo(bar2);
Ich hoffe du hast es verstanden....
-
Cico schrieb:
Einen Rückgabewert brauchst du wenn du den Wert der Funtion in eine Variable schreiben willst z.b
//Prototyp mit rückgabewert int: int Funktion_foo(int bar1); int wert=Funktion_foo(bar2);
Ich hoffe du hast es verstanden....
Sorry!du meintest ja Parameter habs nochmal durchgelesen