【轉】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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM