ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
时间: 2024-01-03 08:22:29 浏览: 398
ISO/IEC 9899-1999 C语言国际标准99版
根据引用[2]中的信息,"-Wimplicit-function-declaration"是一个警告选项,用于指示ISO C99及更高版本不支持隐式函数声明。这意味着在C99及更高版本中,必须显式地声明所有的函数,否则会出现警告。
以下是一个示例,演示了在C99及更高版本中使用隐式函数声明会触发该警告的情况:
```c
#include <stdio.h>
int main() {
foo(); // 隐式函数声明,会触发警告
return 0;
}
void foo() {
printf("Hello, world!\n");
}
```
在上述示例中,我们在`main`函数中调用了`foo`函数,但没有提前声明`foo`函数。在C99及更高版本中,这将触发"-Wimplicit-function-declaration"警告。
为了解决这个警告,我们需要在使用函数之前提前声明它。修改示例代码如下:
```c
#include <stdio.h>
void foo(); // 提前声明foo函数
int main() {
foo(); // 正确调用函数
return 0;
}
void foo() {
printf("Hello, world!\n");
}
```
在修改后的代码中,我们在`main`函数之前提前声明了`foo`函数,这样就不会触发警告了。
阅读全文