我是一个一个雷区踩过来啊,教程是万年不更啊,我们新手学习是没错过一个雷啊,所以这篇帖子记录我所踩过的坑,当然可能有些会不记得写,但是我尽量每次遇到坑就记录下来,以免我又踩到了,现在来记录一下长久坑了我第一步的入门坑

# error C2731: “WinMain”: 无法重载函数

这个问题我找到答案了,并且只需要更改一个字母,就能够编译通过了
在VS2013编译的时候总会说error C2731: “WinMain”: 无法重载函数。

其实因为WinMain函数的原始定义中lpCmdLine的类型是char

,但在中文系统的环境下因为启用了Unicode支持,LPTSTR代表的是WCHAR *。

所以上述函数我们就应该这样来写:*

// This is winmain, the main entry point for Windows applications
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
看清楚啊,是LPSTR
如果你不想这么写,你说 :哎,老子就是要用LPTSTR
也是可以的,那么在入口WinMain的时候,写成_tWinMain就可以了,别忘了头文件包含#include<tchar.h>

最后修改:2022 年 12 月 05 日
如果觉得我的文章对你有用,请随意赞赏