|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.05.2011, 01:40 | #1 |
Пользователь
Регистрация: 03.05.2009
Сообщений: 15
|
null reference exception, карта проходимости
Вот чего надумал. Пишу движок для простенькой стратежки. Решил урон по площади наносить следующим образом: класс карта состоит из трёх матриц - первая содержит тип земли (land), вторая - матрица препятствий (wall), третья - указателей (units) на всё, что может стоять на карте (класс BattleObj, от него наследуются Unit и Building), при ударе по площади из каждой клетки, попадающей в площадь удара, извлекается ссылка на объект, который будет получать урон.
При инициализации карты все ссылки BattleObj в матрице ссылок по идее null, пока на карте нет ни единого здания или юнита. Вызываю метод у карты RefreshWalls(), который переписывает матрицу препятствий в зависимости от типа земли и указателей на юниты. Код:
|
15.05.2011, 09:46 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
есть подозение, что units просто вобще не инициализирован. Т.е. объявлен, но не присвоен ничему.
Код ниже работает без проблем. Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
15.05.2011, 12:13 | #3 |
Пользователь
Регистрация: 03.05.2009
Сообщений: 15
|
Видимо, в моих знаниях дырка.
Разве строка Код:
Спасибо большое. |
15.05.2011, 17:15 | #4 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Создаёт, только в Вашем примере мы этой строки не видели и, возможно, что она и не вызывается как раз. С тем же успехом, в принципе, могут быть не инициализированы и массивы wall и/или land.
|
15.05.2011, 17:18 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
разве создает?
помоему по умолчанию эти все элементы массива равны null Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
15.05.2011, 17:41 | #6 | |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Цитата:
|
|
15.05.2011, 18:37 | #7 |
Пользователь
Регистрация: 03.05.2009
Сообщений: 15
|
Разобрался, работает, всем кто помогал - спасибо.
Код:
|
15.05.2011, 18:40 | #8 | |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
неопределенное обращение (undefined reference) | rUs_LAN | Win Api | 1 | 28.03.2010 12:35 |
[Linker error] undefined reference to `__cpu_features init | jojahti | Общие вопросы C/C++ | 1 | 14.10.2009 13:14 |
main.cpp:18: undefined reference to `_GetStockObject@4' Как с этим бороться? | dvma04 | Общие вопросы C/C++ | 3 | 10.10.2009 21:26 |
[Linker error] undefined reference to `function name` | kermit | Помощь студентам | 4 | 11.06.2008 09:19 |
какие функции есть в разделе Lookup & Reference. ?????????: | Катруся | Помощь студентам | 2 | 09.06.2008 08:24 |