Eclipse CDT「for loop initial declaration used outside C 99 mode」エラーの解決

709 ワード

Eclipse CDTでcプログラムを記述中に`for'loop initial declaration used outside C 99 modeエラーが発生したのは-std=c 99オプションが追加されたためです
C 99規格は、以下のようなforループの変数iの定義および初期化方式をサポートする.
	for (int var = 0; var < 10; ++var) {
	}

C 99規格以外のC規格は、以下のようなforサイクルの変数iの定義および初期化方式をサポートする.
	int var;
	for (var = 0; var < 10; ++var) {

	}

解決策:
右クリック項目->Properties->C/C++Build->Settings->Tool Settings->GCC C Complier->Miscellaneous
「Other flags」に-std=c 99を追加
追加読書
c 89とc 99の小さな違い
eclipseで開発された時、
char n[] = "abcda";
上記の文はすべてコンパイルできますが、c 89の実行時にエラーが発生し、4文字以内の長さしか使用できません.
c 99は無制限