“主要”的多种定义

新手上路,请多包涵

在学习 C++ 的过程中,我通过实际网站上的 C++ 手册进行学习。我使用 DevC++ 并且遇到了问题,不知道它是否是编译器错误。

我自己一点一点地输入这段代码,因为我觉得它更有效率,并将我自己学到的东西添加到示例中,然后我开始初始化变量。这是 C++ 手册中的代码

#include <iostream>

using namespace std;
int main ()
{
    int a=5;     // initial value = 5
    int b(2);    // initial value = 2
    int result;  // initial value undetermined

    a = a + 3;
    result = a - b;
    cout << result;

    return 0;
}

这是弹出一个编译器错误,说““Main”的多个定义”现在这是在实际的 C++ 页面上,所以我猜测它是一个编译器错误。

有人可以为我指出正确的方向,为什么会发生这种情况以及导致此错误的原因是什么。

原文由 Jsp1304 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 474
1 个回答

“main”的多个定义表明您对 main 有另一个定义。也许在您项目的另一个 .c 或 .cpp 文件中。您只能拥有一个具有相同名称和签名(参数类型)的函数。此外,main 非常特殊,因此您在项目中只能有一个可用作入口点的 main 函数(没有参数、一个 int 或一个 int 和一个 char**)。

PS 从技术上讲,这是一个链接器错误。这是一个细微的区别,但基本上它抱怨链接器无法确定哪个函数应该是入口点,因为有多个同名定义。

原文由 CrazyCasta 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏