术语"函数的隐式声明"是什么意思.调用标准库函数而不包括相应的头文件会产生警告,如果的话
int main(){
printf("How is this not an error?");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果不声明它是错误的话,不应该使用函数吗?请详细解释.我搜索了这个网站,发现了类似的问题,但找不到明确的答案.大多数答案说了一些关于包含头文件以摆脱警告的事情.但我想知道这不是一个错误.
有人可以向我解释为什么以下编译:
int main()
{
int a = mymethod(0);
}
int mymethod(int b)
{
return b;
}
Run Code Online (Sandbox Code Playgroud)
但这不会:
int main()
{
mymethod(0);
}
void mymethod(int b)
{
return;
}
Run Code Online (Sandbox Code Playgroud)
我认为在 C/C++ 中需要前向声明,但这里有一个反例。隐式声明如何在 C 中工作?