一直以来以为function declared implicitly这个问题都是很容易的解决的,所以没有在意,没想到昨天查了下,网上竟然有好多种说法是不合适的,所以解答下。
首先这句话是函数没有声明,那么怎么解决的,下面说两种方法(在一个文件下就不讲了)。
在a.c中个调用fun1
void main
{
fun1();
}
在b.c中定义fun1
void fun1(void)
{
}
这时在a.c中就会有function declared implicitly,这时解决方法如下
方法1:新建一个b.h文件,在文件里面写下void fun1(void)
然后在a.c中包含b.h这个头文件。
方法2:在a.c中写下extern void fun1(void);//函数外部声明。
当然了在有些编译器下,上面的问题可能也不会出现警告,直接报错。比如c++下就会认为出错
本文探讨了在C/C++编程中遇到的函数未声明导致的function declared implicitly警告问题。提供了两种解决方法:一是创建并包含头文件进行声明;二是使用extern关键字进行外部声明。文中还提到了不同编译器对此问题的不同处理方式。

6309

被折叠的 条评论
为什么被折叠?



