The_Sage said:
[...]
You mean, IBM, MS, Borland and other compiler
manufacturer's interpretation of the standard is incorrect.
Given the way you "interpret" standards, I must conclude that
you are not a programmer, and that any well-formed programs
that you do write must be the result of a mind-bogglingly
improbably accident comparable to a thousand monkeys
randomly producing the entire works of Shakespeare on
typewriters.
Strictly speaking, it is conforming, it just isn't recommended
What isn't recommended is you going near a C++ compiler.
because it may not be portable,
Someone who defies the standard itself, and then quotes the
draft standard as support, and then continues arguing that
"void main()" is legal C++ is utterly unqualified to speak an
iota about portability.
for example, GCC doesn't implement any other version of
main() other than the one suggested by the ISO standard.
All the other forms of main() allowed by the ISO standard
have a return type of int.
[...]
2) The C++ standard clearly says it's wrong.
No it doesn't.
Ok, so here we have it:
1) C++ Standard, specifying the return type of main()
2) interpreters of the standard, who disagree on 1)
One of the interpreters is a C++ committee member, an
author of an acclaimed C++ book, an internationally
recognized C++ expert, and has a language feature named
after him. The other signs his posts with an alias (unless
"The Sage" is his/her legal name), has no known publications,
is an internationally recognized crank, and wouldn't be
allowed on the C++ committee if he paid everyone else's
dues. I wonder which one is more qualified to determine
whether the standard allows main() to return void? This
is a difficult and vexing question...hmm...
And that, of course, is because "conforming" means "what
my compiler does". Which is why we write standards. To
describe what compilers *do*, not what they are
*supposed* to do. I see. It all makes sense. Anyone
else want a hit on the bong?
Now, I have a proof that this crackpot is none other than
the convener of the C++ committe himself! See, the casual
reader would assume that "sage" means "wise". But it doesn't
take a rocket scientist to see that no wisdom can be found in
the words of this poster, which means we are forced to
conclude that "sage" means "herb"...hmm..."The herb"...
which might explain the inspiration for his ideas, but is a
tangential issue at best. No, there is only *one* "herb"
when it comes to C++, and that's "herb" Sutter! He's just
yanking everyone's chain and having a laugh at our expense!
[...]
"The men that American people admire most extravagantly
are most daring liars; the men they detest the most violently
are those who try to tell them the truth" -- H. L. Mencken
I really admire the way you defend your position. Oh, and
"audacious" != "brave bearer of truth". After all, fools rush in
where angels fear to tread.
Dave