在学习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 ++页面上,所以我猜测它的编译器错误。
有人可以指出我正确的方向,为什么会发生这种情况,以及造成这种错误的原因。
答案 0 :(得分:3)
“main”的多个定义表明您有另一个main定义。也许在项目中的另一个.c或.cpp文件中。您只能拥有一个具有相同名称和签名(参数类型)的函数。另外,main非常特殊,因此您只能在项目中使用一个可用作入口点的主函数(没有参数,一个int,或一个int和一个char **)。
P.S。从技术上讲,这是一个链接器错误。这是一个微妙的区别,但基本上它抱怨链接器无法确定哪个函数应该是入口点,因为有多个定义具有相同的名称。