小罗伯特唐尼和漫威:MFC (语言: .net2005) (2003没出现过这种问题)

来源:百度文库 编辑:高考问答 时间:2024/05/02 04:45:54
void CfamiliarDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
MessageBox("asdf");
}

出错信息:
error C2664: “CWnd::MessageBoxW”: 不能将参数1 从“const char [3]”转换为“LPCTSTR”
与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换

MessageBox("asdf"); 改为 MessageBox(TEXT("asdf") );
楼主应该是在编译时定义了UNICODE和_UNICODE宏,所以相应的API在编译时是UNICODE版本的,对应的字符串参数也应该传可以适应UNICODE的参数。有关TEXT宏的具体定义,可在对应头文件里查到