"C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。

ソース(バグ有り):

#include "stdafx.h"
int myfunc(int a)
int main()
{
int a=myfunc(0);
printf("%d",a);
return 0; } int myfunc(int a) {
return a+1; }


原因:
;(セミコロン)が抜けています。
この例ではmyfunc関数の定義文の後のセミコロンが抜けています。

関数のプロトタイプ宣言ではセミコロンが必要です。セミコロンが無い場合は関数の定義と見なされます。

対処:
myfunc関数の定義で定義文の最後にセミコロンを付けます。



ソース(修正済み):

#include "stdafx.h"
int myfunc(int a);
int main()
{
int a=myfunc(0);
printf("%d",a);
return 0; } int myfunc(int a) {
return a+1; }

スポンサード リンク



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