“主要”的多个定义

时间:2012-10-13 07:55:56

标签: c++

在学习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 ++页面上,所以我猜测它的编译器错误。

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

1 个答案:

答案 0 :(得分:3)

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

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