我决定学习C ++ DirectX,但每当我编译/调试代码时,即使是最简单的代码,我也会得到LNK2019:函数“int __cdecl_main(void)”中引用的未解析的外部符号_WinMain @ 16(?invoke_main @@ YAHXZ)错误和LNK1120。
我测试了两个不同的代码,一个是类,另一个只是int函数:
#pragma once
class Main
{
public:
Main();
~Main();
};
Main::Main(int x)
{
}
Main::~Main()
{
}
int example()
{
return 0;
}
答案 0 :(得分:1)
首先,你应该帮自己一个忙,并从一本书中正确学习C ++。 C ++的设计者和实现者Bjarne Stroustrup有一本很棒的书可以教你很多:Programming: Principles and Practice using C++
您的程序无法链接,因为没有main()
功能,这是必需的。
As Steephen has pointed out already in his answer,您可以更改您的计划,使其至少包含 以下内容:
int main()
{
return 0;
}
看起来您试图用main()
替换example()
,但您的程序和C ++程序需要main()
,因为它是主要的切入点你的程序。您可能还想阅读http://www.cplusplus.com/doc/tutorial/program_structure/
答案 1 :(得分:0)
为了让您的课程定义保持完整,请执行以下更改
Main::Main() // you don't need a parameter for your constructor
{
}
int main() //Not int example() because you need a main for your program
{
return 0;
}