Я написал игру змея на с ++ в консоли, и у меня есть некоторые проблемы, которые я не могу понять.Кто-нибудь может мне помочь?Согласно приведенному ниже коду:
class Snake : public Fruit{
private:
int head;
short dir_x; //-1 (left or down) / +1 (right or up)
short dir_y;
friend class Game;
int base_length = 3; // base length of snake on start of the game
const int length = Board::global_x * Board::global_y; // max length
int prev_tailPos[2]; // previous tail position (end of snake)
int tail; // tail is sum of base_length and score
int time = 100; // delay for snake
struct Body{
int body_pos[2]; // position of every element of snakes body
Body* higherEl; // point element nearer head element
};
Body* body = new Body[length]; // array for body of snake
};
С этим порядком все в порядке, но если я добавлю определение структуры Body и body поверх этого класса, вот так:
class Snake : public Fruit{
private:
struct Body{
int body_pos[2]; // position of every element of snakes body
Body* higherEl; // point element nearer head element
};
Body* body = new Body[length]; // array for body of snake
int head;
short dir_x; //-1 (left or down) / +1 (right or up)
short dir_y;
friend class Game;
int base_length = 3; // base length of snake on start of the game
const int length = Board::global_x*Board::global_y; // max length
int prev_tailPos[2]; // previous tail position (end of snake)
int tail; // tail is sum of base_length and score
int time = 100; // delay for snake
};
После остановки игры появляется эта ошибка:
> Unhandled Exception at 0x76C40860 (sechost.dll) in Snake.exe:
> 0xC0000005: Access violation reading location 0x00000004`
Может кто-нибудь помочь мне, почему это проблема?