Bedingter Operator
-
Hallo
Folgendes funktioniert einwandfrei:
int fak(int n) { if(n<=1) return(1); else return(n*fak(n-1)); }So jedoch nicht:
int fak(int n) { (n <= 1) ? return(1) : return(n*fak(n-1)); }Der Compiler gibt folgende Fehlermeldung aus:
main.cpp: In function
int fak(int)': main.cpp:15: error: expected primary-expression before "return" main.cpp:15: error: expected:' before "return"
main.cpp:15: error: expected primary-expression before "return"
main.cpp:15: error: expected `;' before "return"Kann mir das jemand vll. erklären?
Vielen Dank.

Gruss,
LEARNcpp
-
int fak(int n) { return (n <= 1) ? (1) : (n*fak(n-1)); }In ?: dürfen nur (Rechen-)Ausdrücke gemacht werden. Das return-Statement ist kein Ausdruck.
-
Ach so ist das

Vielen Dank volkard
Gruss,
LEARNcpp