Microsoft Visual Studio 2008编译MFC(WIN32)程序错误error C2664收藏

 VC++6.0用户在使用VS2005编写WIN32或者MFC程序时,经常使用函数:MessageBox("提示信息。"),但是在VS2005编译时候出错,出错信息如:

错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” d:/我的文档/visual studio 2005/projects/test/test/testdlg.cpp 155 

很多人不知道原因。现在给出这个错误的解决办法。

void CtestDlg::OnBnClickedButton1() ...{ MessageBox("你已经提交成功。"); // TODO: 在此添加控件通知处理程序代码 }

方法一:由于VS2005默认使用的是UNICODE字符集,在新建项目时,把使用UNICODE字符集取消,如下图:

Microsoft Visual Studio 2008编译MFC(WIN32)程序错误error C2664收藏_第1张图片

   方法二:在使用的函数前加“_T”如:

void CtestDlg::OnBnClickedButton1() ...{ MessageBox(_T"你已经提交成功。"); // TODO: 在此添加控件通知处理程序代码 }

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

OK了。

你可能感兴趣的:(c,Microsoft,文档,mfc)