2010-03-03 74 views
0

我現在遇到了很多Unicode問題。據我瞭解,TCHAR被定義爲wchar_t或char,具體取決於_UNICODE是否在某處定義,還有其他各種函數可以幫助解決這個問題。顯然_T(「x」)應該根據設置的東西來將'x'轉換爲wchar_t或char。我有以下代碼:_T(「x」)不能正常工作

TCHAR desiredClassName = _T("ChatClass"); 

,它是給我下面的不友好的錯誤信息:

error C2440: 'initializing' : cannot convert from 'const wchar_t [10]' to 'TCHAR' 

這並不真正使任何意義,我。當然,TCHAR在這裏應該是wchar_t的東西?爲什麼不是?

順便說一句,我根本不在乎使用Unicode,但顯然windows.h或類似的東西迫使我。如果在互聯網的某個地方有一些常用的常見問題解答,那麼可以通過一種新手可以理解的方式來解釋所有這些各種不同類型的char數組和字符串,這些方式都是新手可以理解的。

+0

一個TCHAR可以是天然的wchar_t或無符號短,這取決於_NATIVE_WCHAR_T_DEFINED。 (如果_NATIVE_WCHAR_T_DEFINED,TCHAR == wchar_t。) – 2010-03-03 22:23:11

回答

8

這應該是TCHAR*,而不是TCHAR

+0

哦,親愛的,那有效。我可以很容易地看到,我學會了用Java編寫代碼。謝謝。 – Oliver 2010-03-03 22:23:44

4

嘗試

TCHAR* desiredClassName = _T("ChatClass"); 

注*

4

你應該使用:

TCHAR* desiredClassName = _T("ChatClass");