このような静的に宣言された配列がありますCell SMatrix_A[36][10]
。コードで SMatrix_A を直接使用すると ( Cell foo = SMatrix_A[12][8]
)、すべて正常に動作します。しかし、私が本当に望んでいるのは、これらの行列 (SMatrix_A、SMatrix_B など) のいくつかを宣言し、実行時にそれらの間でポインター変数を切り替えることです。
私は次のようなコードを想像しています (SMatric_A、B、C が既に宣言されており、これがすべて同じファイル スコープにあると仮定します):
Cell *curMatrix = SMatrix_B;
Cell foo,bar;
...
foo = curMatrix[13][2];
コンパイラは、Incompatable pointer types assigning 'Cell*' from 'Cell[36][10]'
curMatrix への最初の代入について次のように答えます。添え字なしで配列変数を参照すると、値が配列の最初の場所であるポインター型が得られると思いました。
キャストか何かが足りないだけですか?