У меня есть массив 2d, заполненный глобальными переменными.C++ 2d array не отображается
#define GRID_WIDTH 19
#define GRID_HEIGHT 10
char grid[GRID_WIDTH][GRID_HEIGHT];
Позже в коде я использую этот 2d массив
void Grid::ResetGrid()
{
// Empty the console screen
system("cls");
// Fills the grid with '#' walls
for (int i=0; i<GRID_WIDTH; i++)
{
for(int j = 0; j <GRID_HEIGHT; j++)
grid[i][j] = '#';
}
ir = 2;
}
В то время как я бегу программу, я использую часы и контрольные точки. В начале часы на сетке сказал:
Name: grid
Value: [0] "###################"
[0] '#'
[1] '#'
[2] '#'
//and so on, i could expand it and look at every part of the array
type: char
, но теперь он сломан, и это показывает только это:
Name: grid
Value: {...}
type: Grid
Странная вещь, я не изменил код массива, только написанные строки кода от того, что находится внутри массива.
Код печати на консоль:
void Grid::PrintGrid(int currentX, int currentY)
{
// Empty the console screen
system("cls");
// Displays the finished maze to the screen.
for (int y=0; y < GRID_HEIGHT; y++)
{
for (int x=0; x < GRID_WIDTH; x++)
{
cout << grid[x][y];
}
cout << endl;
}
// Just for testing, which direction and on what position the solver is
cout << ir << " " << currentX << "," << currentY;
}
Вопрос заключается в том: Почему я не могу видеть информацию в 2d массив больше в часах или когда я hoofer над? Надеюсь, вы можете мне помочь.
Покажите нам код, который выводит на терминал –
ARGH '# define' и C массивы Вы уверены, что код в C++? –
даже с константой int GRID_HEIGHT = 10; он больше не работает – Lutske