gpt4 book ai didi

c++ - MessageBox 上的 Visual Studio 2015 WinAPI 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:20 24 4
gpt4 key购买 nike

我在 Visual Studio 2015 中创建了一个基本的 Windows C++ 应用程序,但出现了一些错误:

Erorrs image

#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Test_text", "Message Test", MB_ICONINFORMATION | MB_OKCANCEL);
return 0;
}

错误:

'int MessageBoxW(HWND,LPCWSTR,LPCWSTR,UNIT)': cannot convert argument 2 from 
'const char [10]' to 'LPCWSTR'

argument of type "const char *" is incompatible with parameter of type "LPCWSTR"
argument of type "const char *" is incompatible with parameter of type "LPCWSTR"

最佳答案

您选择使用 ANSI 文本,因此您应该显式使用 MessageBoxA 而不是宏 MessageBox

#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBoxA(NULL, "Test_text", "Message Test", MB_ICONINFORMATION | MB_OKCANCEL);
return 0;
}

或者,您可以使用TEXT 宏让编译器自动匹配字符串和函数的类型。

#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, TEXT("Test_text"), TEXT("Message Test"), MB_ICONINFORMATION | MB_OKCANCEL);
return 0;
}

关于c++ - MessageBox 上的 Visual Studio 2015 WinAPI 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com