これは優雅ではないかもしれません。主に私はC++に比較的新しいので、私がまとめているこの小さなプログラムはここではうんざりしています。C++では、多次元配列の要素の増加が別の要素を増やしているように見えるのはなぜですか?
私はそれを取得しません。私は配列を誤解しましたか?編集されたコード:
int diceArray [6][3][1] = {};
...
}else if (y >= xSuccess || x >= xSuccess){
// from here...
diceArray[2][1][0] = diceArray[2][1][0] + 1;
diceArray[2][1][1] = diceArray[2][1][1] + 1;
// ...to here, diceArray[2][2][0] increases by 1. I am not referencing that part of the array at all. Or am I?
}
コメントを使用して、私は第2の表現に犯人を追跡しました。私が最初の1つをコメントアウトすると、diceArray[2][2][0]
は変更されません。
なぜdiceArray[2][1][1] = diceArray[2][1][1] + 1
はdiceArray[2][2][0]
を増やすのですか?
私が試した..
c = diceArray[2][1][1] + 1;
diceArray[2][1][1] = c;
は、回避策を..asが、それはちょうど同じでした。それはdiceArray[2][2][0]
を1つ増やした。
'もし'あなたに 'else'を使っていますか? add code – Raindrop7
'diceArray [6] [3] [1]'は、配列の3番目のインデックスに1つの要素しかないことを意味します。 'diceArray [2] [1] [1]'は索引から2番目の要素にアクセスしています。 – Gabriel
'diceArray'の第3次元は' 1'です。あなたのコードでは、値0と1を使用して3次元の値をインデックスします。それはあまりにも遠すぎます。 – Peter