main()中的无名参数是否严格符合?

use*_*423 2 c++ program-entry-point language-lawyer

C++允许以下两个main定义:

int main() { }
int main(int argc, char* argv[]) { }
Run Code Online (Sandbox Code Playgroud)

它也允许char*[]char**argcargv被命名为任何编程人员.但是,它是否也允许:

int main(int, char*[]) { }
Run Code Online (Sandbox Code Playgroud)

这与上面的例子相同吗?它严格符合吗?注意,我不在乎它是否在您喜欢的编译器中编译,我只询问标准.

Aru*_*run 5

是的,正如@Captain Obvlious所说,C++只关心参数的类型.C++标准委员会文件在此公开发布供您参考.

3.6.1主要功能

  1. 实现不应预定义主函数.此功能不应过载.它应该具有int类型的返回类型,否则其类型是实现定义的.所有实现都应允许两者

- 返回int和的函数()

- 返回int的函数(int,指向char的指针)