error C2664: “MessageBoxW”: 不能将参数 2 从“const char *”转换为“LPCWSTR”

本文介绍在VS2005环境下使用win32application编程时遇到的MessageBox参数类型转换错误C2664,并提供了解决方案。通过替换MessageBoxW为MessageBoxA,解决了参数类型不匹配的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vs2005 的win32 application中的编程语句:

MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);

出现如题目所示的错误:
error C2664: “MessageBoxW”: 不能将参数 2 从“const char *”转换为“LPCWSTR”

其中:#define MessageBox  MessageBoxW

解决方法:

MessageBoxA( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);

 

 

 

二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 空初始值设定项对于带有未指定绑定的数组无效 “_AFXDLL”: 宏重定义 'CWinApp::Enable3dControls': CWinApp::Enable3dControls is no longer needed. You should remove this call. “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “BOOL CListCtrl::SetItemText(int,int,LPCTSTR)”: 无法参数 3 从“const char [3]”转换为“LPCTSTR” “BOOL CListCtrl::SetItemText(int,int,LPCTSTR)”: 无法参数 3 从“const char [3]”转换为“LPCTSTR” 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法参数 1 从“const char [15]”转换为“LPCTSTR” “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法参数 1 从“const char [15]”转换为“LPCTSTR” “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法参数 1 从“const char [15]”转换为“LPCTSTR”
03-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值