このコードは、タイトルに示されているコンパイルエラーをスローします。誰かが何を変更するか教えてもらえますか?
#include <iostream>
using 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");
}
前もって感謝します
3次元配列に添え字を付けています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){
int myArray[10][10][10];
する必要があります
int myArray[10][10][10][10];
4つの参照解除を使用して3次元配列にアクセスしようとしています
必要なループは4つではなく3つ、またはint myArray[10][10][10][10];
3D配列を初期化したと思いますが、4次元の配列にアクセスしようとしています。