_T ("x") не действует как следует - PullRequest
0 голосов
/ 04 марта 2010

У меня сейчас много проблем с Юникодом.Насколько я понимаю, 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 или что-то подобное заставляет меня это делать.Если где-то в Интернете есть какой-нибудь удобный FAQ, который объясняет все эти различные типы массивов символов и строк в их различных форматах так, чтобы новичок мог понять, это будет оценено.

Ответы [ 3 ]

8 голосов
/ 04 марта 2010

Это должно быть TCHAR*, а не TCHAR.

4 голосов
/ 04 марта 2010

Вы должны использовать:

TCHAR* desiredClassName = _T("ChatClass");

4 голосов
/ 04 марта 2010

1001 * попробовать *

TCHAR* desiredClassName = _T("ChatClass");

Обратите внимание на *

...