码迷,mamicode.com
首页 > 其他好文 > 详细

加L“”

时间:2017-08-17 00:36:11      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:image   art   一个   data   close   err   程序代码   ack   sage   

技术分享

 

error C2665: “AfxMessageBox”: 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)

       或者将第4行改为:if(AfxMessageBox(L"是否真的要退出当前程序?",MB_YESNO)==IDYES)

 办法2:选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设置”即可。

 

这是因为vs默认使用的是unicode字符编码集,而unicode要占2byte,通常的字符只占1byte,所以导致无法转换,故需要加上 _T 或 进行转换。

 

 

 技术分享

 

加L“”

标签:image   art   一个   data   close   err   程序代码   ack   sage   

原文地址:http://www.cnblogs.com/wxl845235800/p/7376494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!