在改掉所有的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
所有评论(0)