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の定義および初期化方式をサポートする.
C 99規格以外のC規格は、以下のようなforサイクルの変数iの定義および初期化方式をサポートする.
解決策:
右クリック項目->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は無制限
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は無制限