Показать сообщение отдельно
Старый 27.11.2007, 04:07   #497
Пугатель
 
Аватар для [CCCP] Monster

 
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,111
Репутация: 1096 [+/-]
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 почитать, там же, в ссылках.
__________________
Служу Советскому Союзу!

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)
[CCCP] Monster вне форума  
Отправить сообщение для [CCCP] Monster с помощью Skype™ Ответить с цитированием