2010のVisual Studioでは、この初期化が期待どおりに動作:なぜ多次元配列を初期化するときに次元を省略できないのですか?
char table[2][2] = {
{'a', 'b'},
{'c', 'd'}
};
しかし、のようなものを書くことが法的いないようです:
char table[][] = {
{'a', 'b'},
{'c', 'd'}
};
Visual Studioは、この配列は "の要素を含んでいない可能性があることを訴えますコンパイル後、VSは2つのエラーを報告します:インデックスが見つからず、初期化が多すぎます。
質問:なぜ多次元配列を初期化するときに寸法を省略できないのですか?
つまり、配列自体のサイズは不明な場合がありますが、要素のサイズは不明ではありませんか? –
@Miroslav:まったく! –
ああ、この情報のおかげで、ありがとう。さらに考えてみると、それは常にそうであるように論理的にしか見えないのですか? ;-) –