編譯環境 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 關注
- 417 瀏覽
添加回答
舉報
0/150
提交
取消