相关疑难解决方法(0)

main()是否在C++中重载?

main()存在2个有效版本C++:

int main()  // version 1
int main(int argc, char **argv)  // version 2
Run Code Online (Sandbox Code Playgroud)

但两种重载都不能同时共存.为什么不?(潜在用例:从终端运行程序时,如果没有传递参数,则调用第一个版本,否则第二个版本被调用.)

编译器是否执行特殊检查以允许每个二进制文件只有一个版本?

c++ program-entry-point overloading

67
推荐指数
5
解决办法
8030
查看次数

int main()是否需要在C ++上进行声明?

在阅读有关C ++中的函数的知识时,我被告知函数需要调用声明。例如:

#include <iostream>

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

int sum(int x, int y) {
  return x + y;
}
Run Code Online (Sandbox Code Playgroud)

由于该函数没有声明,因此返回错误sum

main.cpp:4:36: error: use of undeclared identifier 'sum'
  std::cout << "The result is " << sum(1, 2);
                                   ^
1 error generated.
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我将添加声明:

#include <iostream>

int sum(int x, int y); // declaration

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

int sum(int …
Run Code Online (Sandbox Code Playgroud)

c++ program-entry-point forward-declaration function-declaration

63
推荐指数
7
解决办法
7472
查看次数