1. ホーム
  2. c

[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"

2022-01-18 16:15:46

質問

以下のコードで、エラー "変数サイズオブジェクトが初期化されていない可能性があります"が発生するのはなぜですか?

int boardAux[length][length] = {{0}};

解決方法は?

あなたがC99コンパイラ(動的なサイズの配列をサポートしている)を使用していると仮定しています。あなたのコードの問題は、コンパイラが変数宣言を見たときに、配列にいくつの要素があるかを知ることができないことです。 length はコンパイル時定数ではありません)。

その配列を手動で初期化する必要があります。

int boardAux[length][length];
memset( boardAux, 0, length*length*sizeof(int) );