这段代码会引发标题中给出的编译错误,有人能告诉我要改变什么吗?
#includeusing namespace std; int main(){ int myArray[10][10][10]; for (int i = 0; i <= 9; ++i){ for (int t = 0; t <=9; ++t){ for (int x = 0; x <= 9; ++x){ for (int y = 0; y <= 9; ++y){ myArray[i][t][x][y] = i+t+x+y; //This will give each element a value } } } } for (int i = 0; i <= 9; ++i){ for (int t = 0; t <=9; ++t){ for (int x = 0; x <= 9; ++x){ for (int y = 0; y <= 9; ++y){ cout << myArray[i][t][x][y] << endl; } } } } system("pause"); }
提前致谢
您正在myArray[10][10][10]
四次订阅三维数组myArray[i][t][x][y]
.您可能需要为数组添加另一个维度.还可以考虑像Boost.MultiArray这样的容器,尽管这可能已经超出了你的想法.
有什么改变?除了3维或4维数组问题,你应该摆脱神奇的数字(10和9).
const int DIM_SIZE = 10; int myArray[DIM_SIZE][DIM_SIZE][DIM_SIZE]; for (int i = 0; i < DIM_SIZE; ++i){ for (int t = 0; t < DIM_SIZE; ++t){ for (int x = 0; x < DIM_SIZE; ++x){