【转】implicit declaration of function 这种警告问题的原因及解决方法

在改掉所有的warning时老报一个implicit declaration of function 的警告错误,上网查了下原因,原来有两种情况会产生这种情况

1  没有把函数所在的c文件生成.o目标文件。
2  在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明。

3  其头文件都声明过了,所调用的函数的原型与所传的实参类型不匹配。

我的情况:

       我在学习中遇到的是第二种情况,简单描述一下:A,B两个文件,A为所用函数function()所在的文件,function()函数在A.c文件中写了功能,但未在A.h文件中进行声明该函数。

B在文件中使用该函数时,虽然引了A.h,但是就会报这个问题。所以只需要在A.h中声明下该函数就行,否则B根本不知道这个这个函数,就会出现这样的报错。

http://blog.chinaunix.net/uid-21558711-id-34462.html

原文地址:https://www.cnblogs.com/coreLeo/p/11016407.html