error C2664: “MessageBoxW”解决方案

本文介绍了解决VS2008中因字符集设置不当导致的编译错误的方法。通过调整项目的字符集配置,从Unicode改为多字节字符集,成功解决了MessageBox函数调用时出现的类型转换错误。

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

  这个学期学VC++,老师都是用VC6.0做演示,我就是喜欢用新软,加上WIN7不支持VC6.0所以我直接用VS2008,在编译我的第一个程序时却出现了这个错误:

  error C2664: “MessageBoxW”: 不能将参数 2 从“const char [8]”转换为“LPCWSTR”
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

 后来经查证是因为字符集问题

具体原因问百度吧,我只提供解决方案

 解决方案:

 选择VS2008的“项目”→“属性”→“配置属性”→“常规” 将“字符集”由“使用 Unicode 字符集”改为“使用多字节字符集”就可以了。

二元“=”: 没有找到接受“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、付费专栏及课程。

余额充值