1
szTip字段長度爲128個字符,並且是unicode。它是TCHAR型的,類型定義爲WCHAR。所以我不知道爲什麼下面的代碼片段不能編譯。設置NOTIFYICONDATA結構的szTip字段
nid.szTip = _T("ToolTip");
編譯錯誤是
error C2440: '=' : cannot convert from 'const wchar_t [8]' to 'WCHAR [128]'
有什麼建議?
沒有什麼內在的關於tchar版本的不太可讀......它只是每個人和他們更熟悉的東西,爲什麼不使用它呢? –
FWIW,我見過很多基於TCHAR的代碼,實際上是UNICODE:代碼只用UNICODE API(例如SysAllocString或其他基於COM的API)與TCHARs,這將不能直接編譯,如果它曾經編譯爲ANSI。因此,代碼可能會引起誤解:使用TCHAR表明「此代碼可用作ANSI或UNICODE」(因爲這是TCHAR首先存在的原因)。當然,如果你不在意別人怎麼看待你的代碼,這不是問題。 – BrendanMcK