error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
2016-03-23 21:15
477 查看
vs2008提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
在外面用vs2005编写mfc程序的时候经常要MessageBox("提示信息")函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示:
error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
这个错误提示的原因是VS2005默认使用的是UNICODE字符集,在参数转换时会出错
解决方法很简单。
方法一:
MessageBox(_T("你已经提交成功。"));
即在参数前加上_T
方法二:
在新建项目时,把使用UNICODE字符集取消,如下图:
方法三:
选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。如下图:
原因同上
在外面用vs2005编写mfc程序的时候经常要MessageBox("提示信息")函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示:
error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
这个错误提示的原因是VS2005默认使用的是UNICODE字符集,在参数转换时会出错
解决方法很简单。
方法一:
MessageBox(_T("你已经提交成功。"));
即在参数前加上_T
方法二:
在新建项目时,把使用UNICODE字符集取消,如下图:
方法三:
选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。如下图:
//加载套接字 if(!AfxSocketInit()) { AfxMessageBox("加载套接字库失败!"); //AfxMessageBox(IDP_SOCKETS_INIT_FAILED); //AfxMessageBox("加载套接字库失败",0,0); return FALSE; }
原因同上
in_chat.cpp(59): error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型 1> c:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxwin.h(6655): 可能是“int AfxMessageBox(LPCTSTR,UINT,UINT)” 1> c:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxwin.h(6657): 或 “int AfxMessageBox(UINT,UINT,UINT)”
相关文章推荐
- 作业三: 代码规范、代码复审、PSP
- hdu2041java
- UStore-添加自定义工作流(JDF)到产品
- 算法入门(一) 排序
- Common Lisp笔记(2)
- 理解HTTP幂等性
- php的一些小笔记--数学函数
- linux系统学习
- IOS开发-OC学习-Foundation框架练习
- LeetCode Word Pattern
- linux读书笔记(5章)
- 自适应网页设计的方法
- Android TabLayout、ViewPager实现顶部和底部Tab导航 点击滑动切换Tab页面
- 可靠信号和不可靠信号的测试
- 杭电 Problem1787 GCD Again
- Nginx [error]: invalid PID number "" in "/var/run/
- 线性表相关编程题练习
- 数据库连接信息写在properties文件
- 试探算法_随机生成彩票号码
- 四则运算四