error C2664: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”

时间:2021-12-05 23:51:02

vs2010 出现如下提示:

error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”

还有一些其他的类似的函数,都会出现这个错误提示。

这个错误提示的原因是 VS2010 默认使用的是 UNICODE 字符集,在参数转换时会出错。

解决方法很简单。

方法一:

MessageBox(_T("你已经提交成功。"));

即在参数前加上 _T


方法二:

在新建项目时,把使用UNICODE字符集取消,如下图:


error C2664: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”

方法三:

选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。如下图:

error C2664: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”