相关疑难解决方法(0)

警告:隐式声明函数

我的编译器(GCC)给了我警告:

警告:隐式声明函数

请帮我理解为什么会这样.

c compiler-warnings

180
推荐指数
3
解决办法
59万
查看次数

C中的隐式函数声明

术语"函数的隐式声明"是什么意思.调用标准库函数而不包括相应的头文件会产生警告,如果的话

int main(){
  printf("How is this not an error?");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果不声明它是错误的话,不应该使用函数吗?请详细解释.我搜索了这个网站,发现了类似的问题,但找不到明确的答案.大多数答案说了一些关于包含头文件以摆脱警告的事情.但我想知道这不是一个错误.

c

43
推荐指数
4
解决办法
10万
查看次数

隐式函数声明有时在 C 中工作?

有人可以向我解释为什么以下编译:

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 中工作?

c function forward-declaration implicit-declaration

2
推荐指数
1
解决办法
2658
查看次数