Alex Rivera | Logout

Why are you not allowed to call the main function?

Asked 2010-11-10T11:35:38.343
19

C++03 3.6.1.3: The function main shall not be used (3.2) within a program. ...

I wonder why this rule exists... Is anyone aware of any system/implementation where it would be a problem if main were used?

P.S. 1. I know the definition of the term used. 2. I know there are simple workarounds like calling a single MyMain() from main() and using MyMain() instead. 3. The question is about real-world implementations which would have a problem if the restriction weren't there. Thanks!

Edit
Report

1 Answer

7

C++'s main() is a strange little function that has different syntax for exception-handling, doesn't have to return a value, even though it has to be defined as returning int, etc. I don't know whether this affects any real implementations, but I would guess that the restriction exists to give compiler writers some latitude in how they implement main().

answered 2010-11-10T11:49:09.357

Your Answer