私はこれを助けなしでSO postに見ました。両方の境界が指定されていない2次元配列
int main()
{
int a[][] = {{1,2},{3,4}};
}
エラー
$ gcc a.c
a.c:6:8: error: array has incomplete element type 'int []'
int a[][] = {{1,2},{3,4}};
^
1 error generated.
なぜa[][]
不完全な型がありますか?
なぜint a[][2]
は良いですか?
コンパイラはこの2次元配列を初期化することができるので、自動的に境界を見つけることができると私は考えていましたか?私はサイズを提供する必要があることを知っているが、なぜですか?それは言語の要件ですか?
2番目のフィールドが2番目のフィールドでない場合でも、宣言する必要はありませんか? –