Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1739402
  • 博文数量: 263
  • 博客积分: 1218
  • 博客等级: 少尉
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 02:33
文章分类

全部博文(263)

文章存档

2020年(12)

2019年(2)

2018年(10)

2016年(1)

2015年(20)

2014年(115)

2013年(46)

2012年(37)

2011年(20)

分类: Windows平台

2013-11-08 21:27:46

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



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.
转: http://blog.sina.com.cn/s/blog_7c1947470100xn0g.html
阅读(1409) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~