首页 > 代码库 > error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR

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


MFC中给某个菜单项添加一个事件处理程序:


1.      void CMainFrame::OnTest()  

2.       

3.            MessageBox("you clicked Menu item.");  

4.            // TODO: 在此添加命令处理程序代码   

5.       

编译时报告如下错误:error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR‘’

解决方法如下:

方法1:

参数前加上_T

即:MessageBox(_T"you clicked Menu item.");

方法2:

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

方法3:

修改如下属性【字符集】的值为【使用多字节字符集】