目前我遇到了很多关于Unicode的问题。据我了解,TCHAR被定义为wchar_t或char,具体取决于是否在某处定义了_UNICODE,还有其他各种函数来帮助解决这个问题。显然_T(“x”)应该根据设置的东西将'x'评估为wchar_t或char。我有以下代码:
TCHAR desiredClassName = _T("ChatClass");
它给了我以下不友好的错误消息:
error C2440: 'initializing' : cannot convert from 'const wchar_t [10]' to 'TCHAR'
这对我来说没有任何意义。当然TCHAR应该是一个wchar_t的东西吗?为什么不呢?
顺便说一句,我根本不关心使用Unicode,但显然windows.h或类似的东西迫使我这样做。如果在互联网上的某个地方有一些方便的常见问题解答,以新手可以理解的方式解释所有这些不同类型的字符串和字符串的各种不同格式,我们将不胜感激。
答案 0 :(得分:8)
那应该是TCHAR*
,而不是TCHAR
。
答案 1 :(得分:4)
试
TCHAR* desiredClassName = _T("ChatClass");
注意*
答案 2 :(得分:4)
您应该使用:
TCHAR* desiredClassName = _T("ChatClass");