‘xxx’ undeclared (first use in this function)というエラーは、変数や関数などのシンボル(識別子)が未定義の場合に発生します。C言語では、使用する前にシンボルが定義されている必要があります。
例えば、次のようなコードを書いた場合にこのエラーが発生します。
x
6
1
int main() {
2
// 未定義の変数を使用している
3
int yyy = xxx + 10;
4
5
return 0;
6
}
このコードでは、main
関数内でxxx
という変数が使用されていますが、その変数は定義されていません。これはC言語では許可されないため、コンパイラはこのような未定義のシンボルを検出してエラーを出力します。
このエラーを修正するには、使用するシンボルが定義されていることを確認する必要があります。例えば、次のような修正を行うことでこのエラーを解消できます。
1
9
1
int main() {
2
// 変数を定義する
3
int xxx = 5;
4
5
// 定義された変数を使用する
6
int yyy = xxx + 10;
7
8
return 0;
9
}
また、変数が定義されているファイルをインクルードすることで、複数のファイル内で同じ変数を使用することもできます。例えば、次のような修正も可能です。
1
9
1
// xxxという変数を定義したヘッダーファイル
2
3
4
int main() {
5
// xxx.hで定義された変数を使用する
6
int yyy = xxx + 10;
7
8
return 0;
9
}
これらの修正を行うことで、未定義のシンボルから生じるエラーを回避することができます。
コメント