|
sdghost
Эта ошибка возникает из-за несовместимости типов. LPCWSTR совместим с типом char* (указатель на строку). Ты пытаешься присвоить сразу объект массива указателю на строку. Чтобы заработало, надо заменить
wcex.lpszClassName = szWindowClass;
на
wcex.lpszClassName = &szWindowClass[0];
и
hWnd = CreateWindowEx(NULL, szWindowClass, szTitle, OVERLAPPEDWINDOW | WS_VISIBLE, 300,150, 500,400, NULL, NULL, hinstance, LoadIcon(NULL, IDI_APPLICATION));
на
hWnd = CreateWindowEx(NULL, &szWindowClass[0], szTitle, OVERLAPPEDWINDOW | WS_VISIBLE, 300,150, 500,400, NULL, NULL, hinstance, LoadIcon(NULL, IDI_APPLICATION));
Только проверь, что szWindowClass - действительно является массивом символов char и содержит нулевой символ в конце. Судя по сообщению компилятора, у тебя массив длинной всего 4 байта, при этом последний байт должен быть нулевым, т.е. ты имеешь в своем распоряжении только три буквы. Эти три буквы при создании окна будут отображены в качестве заголовка.
Вообще рекомендую сперва почитать книжки и статьи по С++ из соседней темы со ссылками. А то я вижу, ты еще в этом не до конца разобрался. Особое внимание удели типам данных и их совместимости. И скажу по секрету - винда и ее функции часто используют типы с нестандартными именами, но эти типы соответствуют некоторым стандартным типам С++. Так что еще советую по Win32 почитать, там же, в ссылках.
__________________

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)
|