、私は機能n()
を呼び出すとn()
内、main
機能で定義されているm()
関数を呼び出すしようと試みるが、私は、コンパイル時に、私は下のエラーを取得:main関数の中で関数を定義できないのはなぜですか?
In function `n': (.text+0xa): undefined reference to `m' error: ld returned 1 exit status
エラーが発生するのはなぜですか?説明してください。
コードはここにある:
#include <stdio.h>
void m();
void n()
{
m();
}
void main()
{
n();
void m()
{
printf("hi");
}
}
'm'はあなたの主な機能の中にあります。それを外に出しなさい! –
私は知っているが、なぜ私はエラーがある? –
"私は知っている" - 明らかにそうではありません。このコードはコンパイルすべきではなく、リンク時にエラーが発生することは少なくなります。 – WhozCraig