编译环境 VS 2005我有一个继承自CDialog我在类中一个成员方法内写如下代码MessageBox("Hello Word");编译后报错。error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char [11]' to 'LPCTSTR'Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast初学VC++,没想到一个消息框就给我难住了。。。我发现这样写没问题MessageBox(TEXT("Hello Word"));这个TEXT是什么意思呀?这种写法似乎有些麻烦啊,大家平时弹出消息框的时候都怎么写呀?
3 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
应该是你创建工程的时候选择了unicode编码,所以不能直接使用"Hello world!"这样的字符串。
WINNT.H头文件中定义:
#ifdef UNICODE
#define __TEXT(quote) L##quote
#else
#define __TEXT(quote) quote
#endif
#define TEXT(quote) __TEXT(quote)
- 3 回答
- 0 关注
- 367 浏览
添加回答
举报
0/150
提交
取消