1. ホーム
  2. Qt

エラー: 'for' ループの初期宣言は C99 モードでのみ許可されます。

2022-02-15 04:36:17

gccでコンパイルした場合のレポート

error: 'for' ループの初期宣言は C99 モードでのみ許可されます。

注意: -std=c99 または -std=gnu99 オプションを使用してコードをコンパイルしてください。

エラー、これはgccのforループの中で直接インクリメントが初期化されているためです。

	for(int i=0; i<len; i++) {
	}

この構文はgccでは間違っており、i変数を先に定義する必要があります:。

int i;
for(i=0;i<len;i++){

}





これは、gccがc89規格に基づいているためで、C99規格に切り替えると、以下のようにforループ内でi変数を定義することができるようになります。

gcc src.c -std=c99 -o src