このエラーメッセージは、C言語で for 文の初期化部分に変数宣言を行う場合に表示されます。
例えば、以下のようなコードでエラーが発生した場合
for (int i = 0; i < 10; i++) {
  printf("%d\n", i);
}エラーメッセージは以下のようになります。
error: 'for' loop initial declarations are only allowed in C99 mode
このエラーの原因は、C言語の規格であるC89では、for 文の初期化部分に変数宣言が許されていないためです。C99以降では、for 文の初期化部分に変数宣言が許されるようになりましたが、C89ではこのような書き方はエラーとなります。
正しいコードは以下のようになります。
int i;
for (i = 0; i < 10; i++) {
  printf("%d\n", i);
}C89では、for 文の初期化部分に変数宣言を行わず、変数宣言を冒頭に行うように書く必要があります。C99以降では、上記の例のように書くことができます。
 
  
  
  
  
コメント