类型" const char *"的参数与" LPCWSTR"类型的参数不兼容

时间:2018-02-09 21:00:07

标签: c++ header

我有一个很大的问题......我'我今天早上开始在Windows.h中编程,但我无法弄清楚为什么它给了我这个问题,因为我轻易地复制了tut中的东西。 (https://youtu.be/8GCvZs55mEM?t=5m20s)(当我发生错误时,我将链接启动视频)

我唯一注意到的是,它在tut中使用LPCSTR变量进行测试,但我的编辑器(Visual Studio Code)发出LPCWSTR变量的信号。

抱歉英语不好。

#include <windows.h>

using namespace std;

int WINAPI WinMain (HINSTANCE hInts, HINSTANCE hPrevInst, LPSTR args, int ncmdshow)
{

MessageBox(NULL, "Ciao!", "La prima GUI", MB_OK, );

return 0;
}

我该如何解决?

在评论中:

现在错误不会出现,非常感谢。但是有一个问题......编辑不喜欢&#39;建立了应用程序。控制台给出:

Executing task: g++ -g main.cpp -o Program <  
main.cpp: In function 'int WinMain(void *, void *, char *, int)':
main.coo:8: pasing '__wchar_t *' as argument 2 of 'MessageBox(void *, const char *, const char *, UINT)'

1 个答案:

答案 0 :(得分:1)

显然不是一个好的教程。像这样做

MessageBox(NULL, L"Ciao!", L"La prima GUI", MB_OK);

使用L更改字符串文字,以便它使用宽字符。宽字符串文字可以转换为类型LPCWSTR,普通字符串文字不能。