C言語: undeclared (first use in this function)

このエラーが出る原因と対処方法

C言語で書いたソースファイルtest.cをLinux(CentOS 6.4)のgccコマンドでコンパイルしようとすると、以下のようなエラーが発生した。

undeclared (first use in this function)

C言語のコンパイルエラーが発生した際の実行コマンド

[root@test test]# gcc test.c
test.c: In function 'main':
test.c:4: error: 'i' undeclared (first use in this function)
test.c:4: error: (Each undeclared identifier is reported only once
test.c:4: error: for each function it appears in.)

ソースファイルtest.cの中身

C言語のコンパイルエラーの原因を調査するために、ソースファイルtest.cを確認する。

#include

int main(void){
for(i=0;i<10;i++){
printf("*");
}
}

コンパイルエラーのエラーメッセージの内容とソースファイルの中身を見比べる。

エラーメッセージ「test.c:4: error: 'i' undeclared (first use in this function)」を直訳すると、次のような意味になる。

test.cの4行目にエラー:「i」が宣言されていない(この関数内で初めて使用)

変数として「i」を使用したいのであれば、iの変数宣言をしなくてはいけないのだが、iの変数宣言を忘れていたことが原因でコンパイルエラーとなったようだ。

C言語のコンパイルエラーの問題を解決するためにソースファイルtest.cを以下のように修正する。

修正後のソースファイルtest.cの中身

#include

int main(void){
int i;
for(i=0;i<10;i++){
printf("*");
}
}

for文の直前にint型で変数iを宣言する「int i;」という一文を追加した。

このソースファイルだと、gccコマンドでのコンパイルに成功し、今回問題となったC言語のコンパイルエラー問題は無事に解決した。

広告

前へ

Linux(CentOS 6) - yum installコマンドでgccパッケージをインストールする

次へ

C: undeclared (first use in this function)