大家好,C++书上的一段windows应用程序代码,它是用VC6.0运行的,我在VS2005上运行总会错误?
代码:#include<windows.h>intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPST...
代码:
#include<windows.h>
int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"你好,我的visual世界!","问候",0);
return 0;
}
请问大家这是怎么回事啊?谢谢指导!,还有个就是我用VS2005运行书上的MFC,始终一能像书上VC6.0那样用类向导然后添加代码,郁闷了很久了,希望哪位指导一下,谢谢!
错误提示: error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [23]' to 'LPCWSTR' 谢谢大家的帮助,还是没有用啊!生成不成功
加_T后的效果如图所示! 展开
#include<windows.h>
int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"你好,我的visual世界!","问候",0);
return 0;
}
请问大家这是怎么回事啊?谢谢指导!,还有个就是我用VS2005运行书上的MFC,始终一能像书上VC6.0那样用类向导然后添加代码,郁闷了很久了,希望哪位指导一下,谢谢!
错误提示: error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [23]' to 'LPCWSTR' 谢谢大家的帮助,还是没有用啊!生成不成功
加_T后的效果如图所示! 展开
4个回答
2010-03-20
展开全部
VS2005跟VC6不一样,它默认是Unicode的
所以您要改成
MessageBox(NULL,L"你好,我的visual世界!",L"问候",0);
字符串前都加个L就行了
如果想在2005和VC6通用,加个TEXT或_T
即
MessageBox( NULL , TEXT("你好,我的visual世界!") , TEXT("问候") , 0 );
所以您要改成
MessageBox(NULL,L"你好,我的visual世界!",L"问候",0);
字符串前都加个L就行了
如果想在2005和VC6通用,加个TEXT或_T
即
MessageBox( NULL , TEXT("你好,我的visual世界!") , TEXT("问候") , 0 );
展开全部
问题在于:是否预定义了UNICODE的问题。
原文件:
#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE
试试以下方法之一:
#define WINVER 0x0501
#undef UNICODE
MessageBox改为MessageBoxA
原文件:
#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE
试试以下方法之一:
#define WINVER 0x0501
#undef UNICODE
MessageBox改为MessageBoxA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学编程要学会看找错啊。
下面写的清清楚楚的。你就算不认识英文,你也找个字典翻译下嘛。
这种问题也问,你不动脑子,还怎么学编程?
下面写的清清楚楚的。你就算不认识英文,你也找个字典翻译下嘛。
这种问题也问,你不动脑子,还怎么学编程?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的函数是 MessageBox 2005宏里面写了,默认采用 MessageBoxW 函数
然后你的错误提示也说的很清楚了,你的MessageBoxW函数的第2个参数必须是LPCWSTR 而不能是 const char[23],你照着改就行了
比如 MessageBox(NULL,_T("xx,xxxxxxx!",_T("xxxx"),0);
然后你的错误提示也说的很清楚了,你的MessageBoxW函数的第2个参数必须是LPCWSTR 而不能是 const char[23],你照着改就行了
比如 MessageBox(NULL,_T("xx,xxxxxxx!",_T("xxxx"),0);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询