C の構造体にある 2 次元配列へのポインターの割り当てに問題があります。コードは実行されますが、コンパイル エラーが発生し、それを取り除く方法がわかりません。
まず、構造体
typedef struct{
double (*cases)[9];
} myStruct;
次に、メイン プログラムで myStryct 型の構造体と配列を宣言し、この配列を指すように構造体にポインターを設定しようとします。
myStruct a;
double myArray[5][9] = {
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
}
a.cases = &myArray;
プログラムは問題なく実行され、ポインターを介して要素にアクセスできますが、コンパイル エラーが発生します: 警告: 互換性のあるポインター型からの割り当て。ここで何が問題なのですか?