标题:在VC++2005中遇到的问题--“CWnd::MessageBoxW”: 不能将参数 1 从“cons ...
只看楼主
feyyee
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-14
结帖率:100%
 问题点数:0 回复次数:8 
在VC++2005中遇到的问题--“CWnd::MessageBoxW”: 不能将参数 1 从“const char [18]”转换为“LPCTSTR”
在MFC中的CFRAME类中添加了一个消息
void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
{
    MessageBox("这是编程论坛");
    CFrameWnd::OnLButtonDown(nFlags, point);
}
只添加了一行
然后编译出错,

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

这是什么原因呀,我看视频做的,他用的是VC6,可以成功,我用VC++2005怎么不行?是不是要包含什么头文件 还是什么其他原因,望高手来帮我看看。
搜索更多相关主题的帖子: LPCTSTR CWnd MessageBoxW char const 
2008-03-25 19:00
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
char * pmsg="这是编程论坛";
MessageBox(pmsg);

这样试试看

2008-03-25 19:03
feyyee
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-14
得分:0 
回复 2# 的帖子
还是不行,还是提示原来的错误
2008-03-25 19:04
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
MessageBox(_T("这是编程论坛"));

学习需要安静。。海盗要重新来过。。
2008-03-25 19:07
feyyee
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-14
得分:0 
回复 4# 的帖子
恩 这样就成功了,但是是什么原因呀?
2008-03-25 19:12
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
可能是A/W字符的原因,你用MessageBoxA应该像VC6.0那样调用,具体也不太清楚,没用过2005

2008-03-25 19:18
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
字符类型有两种:char 和 wchar_t。char 类型保证了有足够的空间,能够存储机器基本字符集中任何字符相应的数值,因此,char 类型通常是单个机器字节(byte)。wchar_t 类型用于扩展字符集,比如汉字和日语,这些字符集中的一些字符不能用单个 char 表示。

学习需要安静。。海盗要重新来过。。
2008-03-25 19:57
feyyee
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-14
得分:0 
回复 7# 的帖子
那意思是,我以后建立MFC的时候,语言选择英文?
2008-03-25 20:22
PhryckDie
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-2-14
得分:0 
项目-》属性页-》常规-》项目默认值-》字符集-使用多字节字符集
不知道行不行,我也刚换2005,不太习惯
为了学习DirectX 所以VS2005ing。
2008-03-25 20:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205312-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055341 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved