Mail Archives: djgpp/1993/11/10/19:31:39
According to Brian Hechinger <wonko AT fubar DOT bk DOT psu DOT edu>
second guestion. when writing c++ code, i have to make main an int not
a void and return needs a value, what is the reason behind this??
from what i remember about my c++ class i had god knows how long ago
we could do this:
void main()
{
program lines
return;
}
I imagine that the powers that be decided that it was a bad idea to
allow the program to exit without specifying a return code. Good
style in the original C++ required an `exit(exit_code)' statement on
every possible execution path. (That may not have been taught in your
C++ class....)
but when i tried this with djgpp it forced me to do it this way:
int main()
{
program lines
return 0;
}
My program template puts `return FALL_THROUGH__ERROR_RETURN_CODE;' at
the bottom of main(). This ensures that if I didn't trap *all* of the
execution paths that an error is signalled. This is useful when
working with a filter-style program that avoids gratuitous output to
stdout (note that since you missed this thread, you *didn't* put an
error message on it!) At least you know that you fell through to the
bottom of main.
I once had a program that decreased its allocated size by a
block (in both source and executable) when I deleted this statement
after debugging. I wonder what the odds against that are? :-)
--Steve
- Raw text -