значение типа "const char *" нельзя присвоить сущности типа "LPCWSTR"

Пробовал включить многобайтовую кодировку, все равно эта ошибка. Что нужно сделать, чтобы каждый раз не приходилось писать (TEXT)?

WNDCLASSEX wc;
wc.lpszClassName = TEXT("WinMainClass");

Ответы (2 шт):

Автор решения: Cppeshnik

Это разные типы данных! LPCWSTR это wchar_t*(другой вид строк), а char* это однобайтовая строка. Вы можете использовать

TEXT("вашаСтрока")

Или

L"ваша строка"
→ Ссылка
Автор решения: Sergey

Макрос TEXT сделан для облегчения задачи программиста.

В зависимости от того, является ли Ваш прожект unicode или ascii, он даёт разные результаты:
а) если прожект unicode - то "разворачивается" в wchar_t*
б) если прожект ascii - то в char*

WNDCLASSEX так же в зависимости от кодировки прожекта становится либо
а) WNDCLASSEXW с полем LPCWSTR lpszClassName
либо
б) WNDCLASSEXA с полем LPCSTR lpszClassName

Облегчение задачи состоит в том, что, используя TEXT, Вам не придётся переписывать исходный код при смене режимов unicode|ascii.
При использовании функций api вообще никаких проблем не должно возникать.
Для своих же переменных следует использовать TCHAR и "производные" от него типы (LPTSTR например). А так же варианты функций для обработки строк, которые используют TCHAR

→ Ссылка