"C2143: 構文エラー : ';' が ')' の前にありません。(for文内のエラー)" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2143: 構文エラー : ';' が ')' の前にありません。(for文内のエラー)

ソース(バグ有り):

#include <stdio.h>

int main()
{;
for ( int a = 1 ; a != 100 )
{
if ( a == 50 )
break;
}
return 0; }


原因:
for 文の構文は以下の通りですが、構文に誤りがあります。(セミコロンが不足しています)。「カウンタの初期化」、「ループ継続条件」、「カウンタ変数の更新」は省略することは可能ですが、セミコロン表記は必要です。

for(カウンタの初期化; ループ継続条件; カウンタ変数の更新)




対処:
for 文の文法を修正します。


ソース(修正済み):

#include <stdio.h>

int main()
{;
for ( int a = 1 ; a != 100 ; a++ )
{
if ( a == 50 )
break;
}
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]