Mail Archives: djgpp/1998/09/21/21:51:59
On 22 Sep 98 at 0:54, sl AT psycode DOT com DOT REMOVE_THIS wrote:
> On Sun, 13 Sep 1998 23:55:49, "Martin Ambuhl" <mambuhl AT tiac DOT net>
> wrote:
>
> > | In the above example, the compiler complains "return;" is used in a
> > |case where "main()" is non-void.. But as you can see, it IS declared
> > |to return void!
> >
> > And illegally so. g++ is smart enough to replace your illegal 'void'
> > with the
> > _required_ 'int'.
>
> It's one thing to complain "main() must return int".. It's a totally
> other matter when GCC complains of
> an error _IT_ causes .. What I mean by this is that it makes a
> modification without telling me about it, therefore
> the error message which follows only serves to confuse the user.. Not
> aid them ..
Always pass the `-Wall' switch. If you do, then gcc will tell
you when it changes `main' to return `int'. In any case, it
did tell you only a line or two earlier that it was in
function "int main (...)" -- at least it does so on my system.
--
george DOT foot AT merton DOT oxford DOT ac DOT uk
- Raw text -