我在Visual Studio 2012中使用wxWidgets 2.9.4并且我不断收到这两条错误消息:
错误1错误C2664:'MessageBoxW':无法将参数2从'const char *'转换为'LPCWSTR'
IntelliSense:“const char *”类型的参数与“LPCWSTR”类型的参数不兼容
我的代码是:
#ifdef _WIN32
std::string msg;
StringFromFormatV(&msg, format, args);
retval = IDYES == MessageBox(0, msg.c_str(), "ERROR! Continue?", MB_ICONQUESTION | MB_YESNO);
答案 0 :(得分:1)
您正在使用多字节字符作为默认编译项目。您可以在项目的属性中更改它,也可以使用msg.wc_str()
,甚至强制使用MessageBoxA
而不是使用宏MessageBox
。