+ 1

end of function?

I learned in class that at the end of a function such as ‘int main() {…}’ you have to place a return line. If it is an ‘int’ function it is expecting to return an int. Therefore most int functions that have nothing to return end with ‘return 0;’ as the last line in the function. In the exercises that I did so far, none of the functions had that line, and the line was not required to pass the exercises. Why?

23rd Mar 2023, 2:54 PM
Gudrun Rohde Hall
Gudrun Rohde Hall - avatar
2 Respostas
+ 6
Quoted from https://en.cppreference.com/w/cpp/language/main_function "The body of the main function does not need to contain the return statement: if control reaches the end of main without encountering a return statement, the effect is that of executing return 0;" This of course, only applies to main() function. User defined functions are expected to explicitly return something - depending on their declaration return type. Functions with `void` return type are the only exception.
23rd Mar 2023, 3:05 PM
Ipang
+ 2
https://code.sololearn.com/cNA9b1JO8hja/?ref=app U mean this , well it's a special case where compiler assumes that main function has a return statement while in other functions it's mandatory
23rd Mar 2023, 3:00 PM
Binx
Binx - avatar