你能定义 main() 接受多个参数吗,例如:
int main(int argc1, int argc2, char* argv1[], int* argv2[])
最佳答案
在 C 中,main
的唯一可移植 定义是:
int main(void) { /* ... */ }
和
int main(int argc, char *argv[]) { /* ... */ }
或等价物。其他实现定义的形式是允许的——但正如术语“实现定义”所暗示的那样,它们仅在您的编译器选择允许它们的情况下才被允许。
有一些常用的扩展名,例如:
int main(int argc, char *argv[], char *envp[]) { /* ... */ }
但我怀疑是否有任何编译器支持您建议的特定形式。我不确定它有什么用;现有的 argc
/argv
形式允许任意多个命令行参数。
C++ 与 C 略有不同,它要求返回类型为 int
;在 C 中,编译器可以但不需要允许其他返回类型。另外,在C++中()
表示函数没有参数,相当于C的(void)
。 (C++ 还允许 (void)
以实现 C 兼容性。)
关于c++ - 你能定义 main() 来接收比 argc/argv 参数更多的参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139519/