Я работаю над преобразованием пакетной игры, которую я создал в C++ для ее дальнейшего продвижения, и столкнулся с многочисленными проблемами, одним из которых является массив, который мне нужен для nodeMatrix (карта мира). Мне нужна карта 100 x 100 с 20 значениями данных на метр.Ошибка с C++ Массивы и память
int nodeMatrix[99][99][19];
Но проблема в том, когда я пытаюсь установить нулевой (или ungenerated) состояние карты, она падает с (0xc0000005), поэтому я добавил визуальный к сценарию , который печатает текущий узел сбрасывается (это гораздо медленнее, хотя),
void emptydata(){
int temp_x = 0;
int temp_y = 0;
int temp_t = 0;
do{
temp_y = 0;
do{
temp_t = 0;
do{
nodeMatrix[temp_x][temp_y][temp_t] = 0;
//visual
cout << temp_x << " " << temp_y << " " << temp_t << endl;
temp_t ++;
}while(temp_t <= 50);
temp_y ++;
}while(temp_y <= 99);
temp_x ++;
}while(temp_x <= 99);
}
это происходит сбой при 99 14 10 каждый раз, (она начинается с нуля, так 100 15 11), это будет 16500 укусы данные?
В любом случае, это что-то с распределением памяти? Я не могу понять это.
Вы делаете 'в то время как (temp_t <= 50) ', но размер третьего измерения массива равен только 19. – phantom
Интересно, может ли быть более простым в изучении язык, например ruby, java или C#, стать лучшим следующим шагом в обучении программированию. – kristianp
Я оригинал сделал это в пакетном режиме, теперь я воссоздал его как консольное приложение в C++, java не работал, я использую его для генераторов имен. @kristianp –