Created on2009-11-17.00:00:00 last changed145 months ago
[Voted into the WP at the February, 2012 meeting;moved to DR at the October, 2012 meeting.]
Proposed resolution (August, 2011):
Change 6.10.3.1 [basic.start.main] paragraph 2 as follows:
...All implementations shallallow both
of the following definitions ofmain:int main() { /* ... */ }
andint main(int argc, char* argv[]) { /* ... */ }
function of() returningintand
function of(int, pointer to pointer tochar) returningint
as the type ofmain (9.3.4.6 [dcl.fct]. In the latter form, for purposes ofexposition, the first function parameter is calledargc andthe second function parameter is calledargv, whereargc shall be the number of arguments...
The specification of the forms of the definition ofmainthat an impliementation is required to accept is clear in C99 thatthe parameter names and the exact syntactic form of the types canvary. Although it is reasonable to assume that a C++ implementationwould accept a definition like
int main(int foo, char** bar) { /* ... */ }instead of the canonical
int main(int argc, char* argv[]) { /* ... */ }it might be a good idea to clarify the intent using wordingsimilar to C99's.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2014-03-03 00:00:00 | admin | set | status: drwp -> cd3 |
| 2012-11-03 00:00:00 | admin | set | status: dr -> drwp |
| 2012-02-27 00:00:00 | admin | set | messages: +msg3788 |
| 2012-02-27 00:00:00 | admin | set | status: ready -> dr |
| 2011-09-06 00:00:00 | admin | set | messages: +msg3425 |
| 2011-09-06 00:00:00 | admin | set | status: open -> ready |
| 2009-11-17 00:00:00 | admin | create | |