0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
|
1 | |
Проблема. Книга Андрэ Ламот20.02.2010, 22:42. Показов 15421. Ответов 24
Метки нет (Все метки)
Ради интереса начал читать Андре Ламот "Программирование игр для Windows. Советы профессионала".
И автор пишет свою собственную библиотеку "t3dlib1" , которую и использует. Проблема заключается в том, что при включении "t3dlib1" в проект и попытке компиляции выводятся ошибки и куча предупреждений.Прошу помочь разобраться в косяках. warning C4244: =: преобразование 'float' в 'LONG', возможна потеря данных \195 и так сто раз... error C2065: index: необъявленный идентификатор \804 error C2065: index: необъявленный идентификатор \6125 error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение \6125 error C2065: index: необъявленный идентификатор \6126 error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение \6126 error C2065: index: необъявленный идентификатор \6164 error C2228: выражение слева от ".x" должно представлять класс, структуру или объединение \6164 error C2065: index: необъявленный идентификатор \6125 error C2228: выражение слева от ".y" должно представлять класс, структуру или объединение \6125 error C2065: index: необъявленный идентификатор \6392 пользуюсь VS2008ExpressWithSP1RUS
0
|
20.02.2010, 22:42 | |
Ответы с готовыми решениями:
24
Андрэ Ламот - Програмирование игр для Windows Проблема с AddComponentLifeStyle (книга Сандерсона) А. Ламот Програмки примеры не запускаются проблемы с исходниками книги Андре Ламот "Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации" |
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||||||
20.02.2010, 23:10 | 2 | ||||||||||
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
||||||||||||||||
20.02.2010, 23:54 [ТС] | 3 | |||||||||||||||
Можете чтонить посоветовать?
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
21.02.2010, 00:22 | 4 | |||||
Ничего себе он нашаманил, index получается и локальная и глобальная перменная?
Кроме того если она объявлена глобально то как же она не определена... Глюки компилятора? Если index определена в другом cpp надо в этом написать extern int index; уж выложите целый проект у меня тоже студия 2008, я бы мог запустить. а то так по 1 cpp не разберешься тем более он дико огромный
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
|
21.02.2010, 00:47 [ТС] | 5 |
Заранее спасибо за старания.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||||||||||||
21.02.2010, 18:28 | 6 | |||||||||||||||
Ошибки то я исправил, однако дальше код выдает более эпичные вещи. Возможно вы чего то там не дописали. А насчет индекса ошибка - сейчас расскажу, по крайне мере как я понял.
Дело в том что время жизни переменных ограничивает блок { } и когда мы пишем так
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
21.02.2010, 18:36 | 7 |
Вот такого скорее всего не было никогда.
15 лет назад область видимости переменных на компиляторах для Windows точно работала. Ну а ошибки в книгах - частенько бывают... Я еще ни одного учебника по С++ не видел, где бы все примеры компилировались.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
21.02.2010, 18:44 | 8 |
Даже интересно стало, я просто недавно читал где то. Память дырявая, если найду скину цитату. Там было конкретно про блок for
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
21.02.2010, 18:49 | 9 |
Ок. Мне тоже интересно. Пара древних компиляторов найдется.
Ага. Как вспомню, сколько я *цензура* с примерами из учебников... когда учился писать на С++ интернета поблизости еще не было, и знакомых программистов тоже. Вот только методом научного тыка и изучал, что как на самом деле работает.
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
|
21.02.2010, 20:03 [ТС] | 10 |
Немного провозившись с кодом удалось исправить и запустить приложение, но вылезает ошибка:
Может кто нибудь помочь по этому поводу?
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
21.02.2010, 20:12 | 11 |
Выложи картинку на форум.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||||||
21.02.2010, 20:24 | 12 | ||||||||||
Поиск по истории браузера кое что нашёл Жаль уточнений нет
http://ru.wikibooks.org/wiki/Си++
Описание переменных в середине блока
Если в Си переменные могут быть описаны только в начале блока, в Си++ их можно описывать где угодно: например, в середине блока
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
|
21.02.2010, 20:26 [ТС] | 13 |
Извиняюсь. Вот,собственно,та самя ошибка:
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
21.02.2010, 20:37 | 14 |
Я тоже уже проверил.
Версии Microsoft C++, начиная с 3.0 работают правильно. Более древних не нашел, других производителей не использовал. Это предупреждение. Похоже, какое-то из значений некорректно инициализировано на момент использования. http://ru.wikipedia.org/wiki/Assert.h
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
||||||
21.02.2010, 21:07 [ТС] | 15 | |||||
Придется дальше ковырятся.
0
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
21.02.2010, 21:40 | 16 |
Стоп-стоп! Зачем это ее комментировать?
ну, выключи проверку assert() и все, раз мешает... А еще лучше приведи полный текст программы и ошибки.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
21.02.2010, 22:53 | 17 |
Хм... замена _lseek => _llseek убрала ошибку
1
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
||||||
22.02.2010, 17:27 [ТС] | 18 | |||||
Да, действительно, теперь все запускается и работает. Благодарю за помощь.
Теперь буду пробовать что нибудь создать. Добавлено через 16 часов 39 минут Дабы не плодить тем, напишу тут. Ни как не могу понять в чем дело. Пиксели выводятся только на одну половину экрана.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
22.02.2010, 18:16 | 19 | |||||
Я с поверхностями так плотно не работал, поэтому код мне говорит немного. Непонятно это
0
|
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 9
|
||||||
22.02.2010, 18:46 [ТС] | 20 | |||||
У автора книги при 8 битном режиме (UCHAR *)ddsd.lpSurface
а при 32 битном (UINT *)ddsd.lpSurface Автор в книге разбирает пример на основе 8 бит.. я же пытаюсь сделать для 32.. и ни как не выходит
Туплю сильно, не могу разобраться.
0
|
22.02.2010, 18:46 | |
22.02.2010, 18:46 | |
Помогаю со студенческими работами здесь
20
Книга "Изучаем с#". Проблема с проектом "Guys" проблема при работе с китайским J-LINK 8 или же проблема с с Холодильник LG .мод GR-M392YQ.Проблема с дверю, Проблема с дверю при закрывании Книга Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |