首页 > 代码库 > MFC—— AfxMessageBox
MFC—— AfxMessageBox
AfxMessageBox
错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
1,楼主发表于:2007-01-01 03:56:34
同样的语句,到了vc2005(vc8.0)怎么就不行了呢?
错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
#1楼 回复于:2007-01-01 08:57:38
up
#2楼 回复于:2007-01-01 09:13:16
就是这句:AfxMessageBox( "Simple message box. ");如果先定义一个CString 变量,再赋值就没问题
CString sTemp;
sTemp= "Simple message box. ";
AfxMessageBox(sTemp);
#3楼 回复于:2007-01-01 09:20:39
AfxMessageBox(_T( "Simple message box. "));
#4楼 回复于:2007-01-01 10:15:58
记住一点,VC2005中默认的工程选项是UNICODE就可以了。
所以,加上_T或L是需要的。
#5楼 回复于:2007-01-01 10:19:32
or TEXT
同样的语句,到了vc2005(vc8.0)怎么就不行了呢?
错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
#1楼 回复于:2007-01-01 08:57:38
up
#2楼 回复于:2007-01-01 09:13:16
就是这句:AfxMessageBox( "Simple message box. ");如果先定义一个CString 变量,再赋值就没问题
CString sTemp;
sTemp= "Simple message box. ";
AfxMessageBox(sTemp);
#3楼 回复于:2007-01-01 09:20:39
AfxMessageBox(_T( "Simple message box. "));
#4楼 回复于:2007-01-01 10:15:58
记住一点,VC2005中默认的工程选项是UNICODE就可以了。
所以,加上_T或L是需要的。
#5楼 回复于:2007-01-01 10:19:32
or TEXT
2,初学.net,编写如下代码运行,竟然提示错误(error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型)。
代码:
1 void CMouseMoveView::OnAppExit()
2 {
3 // TODO: 在此添加命令处理程序代码
4 if(AfxMessageBox("是否真的要退出当前程序?",MB_YESNO)==IDYES)
5 AfxGetMainWnd()->SendMessage(WM_CLOSE);
6 }办法1: 将第4行改为:if(AfxMessageBox(_T("是否真的要退出当前程序?"),MB_YESNO)==IDYES)
办法2:选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可。
尽量使用方法2.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。