编译器错误 C2664 或 C2731 C++ 2015

Compiler Error C2664 or C2731 C++ 2015

我已经能够完善 WinMain 功能。现在我正在尝试制作一个 win32 应用程序:

#include <Windows.h>
int WINAPI WinMain() {
    MessageBox(NULL,"Test", "Hello World", NULL);
    return 0;
}

然后我得到错误 C2731

您没有为 WinMain() 方法提供任何参数,错误 C2731 表示此方法 cannot be overloaded

来自MSDN

int WINAPI WinMain(HINSTANCE hInstance,
               HINSTANCE hPrevInstance,
               LPSTR lpCmdLine,
               int nCmdShow);

错误 C2664 很可能是您对 MessageBox 的调用,因此请尝试更改为:

MessageBox(NULL, L"Test", L"Hello World", NULL);

我发现我没有使用 int main.cpp 作为我的主要源代码文件,我的 WinMain 需要切换到 wWinMain