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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐