Вам необходимо четко определить все показатели. Определение как spawnableVehicles [3] [] [3] приводит к ошибке, в то время как при определении spawnableVehicles [30] [30] [30] ошибка исчезла. Я также написал код, чтобы проверить это:
#include<iostream>
using namespace std;
int main(){
char* spawnableVehicles[30][30][30] = {
{
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
},
{
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
},
{
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
{"test1", "test2", "test3"},
},
};
for (int i=0;i<30;i++){
for (int j=0;j<30;j++){
for (int k=0;k<30;k++){
if (spawnableVehicles[i][j][k]!=NULL){
// printing spawnableVehicles[i][j][k] when it has a value other than NULL
cout<<i<<" "<<j<<" "<<k<<" "<<spawnableVehicles[i][j][k]<<"\n";
}
}
}
}
return 0;
}
со следующим результатом:
0 0 0 test1
0 0 1 test2
0 0 2 test3
0 1 0 test1
0 1 1 test2
0 1 2 test3
0 2 0 test1
0 2 1 test2
0 2 2 test3
0 3 0 test1
0 3 1 test2
0 3 2 test3
0 4 0 test1
0 4 1 test2
0 4 2 test3
1 0 0 test1
1 0 1 test2
1 0 2 test3
1 1 0 test1
1 1 1 test2
1 1 2 test3
1 2 0 test1
1 2 1 test2
1 2 2 test3
2 0 0 test1
2 0 1 test2
2 0 2 test3
2 1 0 test1
2 1 1 test2
2 1 2 test3
2 2 0 test1
2 2 1 test2
2 2 2 test3
2 3 0 test1
2 3 1 test2
2 3 2 test3
2 4 0 test1
2 4 1 test2
2 4 2 test3
2 5 0 test1
2 5 1 test2
2 5 2 test3
2 6 0 test1
2 6 1 test2
2 6 2 test3
2 7 0 test1
2 7 1 test2
2 7 2 test3
--------------------------------
Process exited after 0.08576 seconds with return value 0
Press any key to continue . . .