在改掉所有的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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐