У меня есть игра, урезанная для задачи, класс GameHandler, класс Game и класс Grid.
Класс GameHandler имеет объявление объекта Game в своем заголовочном файле.Затем конструктор GameHandler реконструирует объект Game, поэтому
game = Game();
В заголовочном файле игры есть объявление указателя на объект Grid.Затем конструктор определяет этот объект Grid:
grid = new Grid(x, y, z);
Затем я могу перейти к игре до конца (смертью или завершением).Когда я заканчиваю игру, GameHandler дает мне возможность начать заново, и для этого я решил просто сбросить игровые состояния и затем снова вызвать
game = Game();
.Это не жалуется, похоже, оно создает новый игровой объект, который, в свою очередь, создает новую сетку.На этот раз, однако, после построения сетки, использования VS2010 и просмотра локальных объектов, к тому времени, когда сетка возвращается к обновлению или рисованию, местоположения всех переменных внутри сетки указывают на 0xfeeefef2 или подобное, что является данными, которыебыл удален во время работы программы в результате нескольких поисков.Единственное место, где это удалено, находится в деструкторе игры.
Итак, на данный момент я предполагаю, что я перезаписываю игровой объект, а затем перезаписанный объект решил назвать его деструктором,в свою очередь стирает сетку, оставляя ее пустой.Я, честно говоря, понятия не имею, так что любое понимание было бы хорошо.