一直以来以为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++下就会认为出错