项目: 03 - Criacao de funcoes e estruturas de decisao
文件: Criacao de funcoes e estruturas de decisao.cpp
include <iostream>
include <stdlib.h>
include <stdio.h>
using namespace std;
int soma(int a, int b) {
return a+b;
}
void mensagem() {
printf ("Hello World!");
printf ("soma: %d", soma(10,20));
}
错误:
Error 1 03 - Criacao de funcoes e estruturas de decisao error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib
Error 2 03 - Criacao de funcoes e estruturas de decisao fatal error LNK1120: 1 unresolved externals C:\Users\geovani.moura\Desktop\c++\Debug\03 - Criacao de funcoes e estruturas de decisao.exe
因为出现这个错误?
最佳答案
一般来说,每个 C 程序都必须定义 main()
与外部链接恰好一次。
您缺少main()
.
如果您的预期入口点是 void mensagem()
,您应该从 main()
内部调用它。
[尽管有多种方法可以定义另一个入口点,但它们是非标准和/或不可移植的——只需坚持 main()
]
一个简单的例子是:
int main()
{
mensagem();
return EXIT_SUCCESS;
}
或
int main( int argc, char* argv[] )
{
mensagem();
return EXIT_SUCCESS;
}
注意:在此代码的上下文中,main()
应列在您创建的两个函数之后。要更改函数的顺序,一种可能是在所有函数之前声明原型(prototype)。另外,EXIT_SUCCESS
定义于 stdlib.h
,它已包含在您的代码中。
没有stdlib.h
和EXIT_SUCCESS
:
int main()
{
mensagem();
return 0;
}
旁注:您正在混合 C/C++ header 。 <stdio.h>
就是你想要的printf()
。此外,您可能会发现输出的格式不符合您的预期。您可以使用 '\n'
(换行)字符输出新行。
关于c - 错误 LNK2019 和 LNK1120 (Visual Studio 2008),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876182/