Ads 468x60px

##EasyReadMore##

06 6月, 2017

[C] implicit declaration of function 警告

implicit declaration of function <= 欠缺標頭檔

翻譯為 ‘隱函式宣告’ 不過 implicit 我覺得比較像盲從的意味,意思是找不到這個宣告。

是因為在C 編譯器裡,如果你如果直接使用函式而無include其標頭檔的話,
在編譯(compile)時C 編譯器會暫時相信你而並不會顯示錯誤,
只會給你一個警告:implicit declaration of function <函式名>。
但是在link時,C 編譯器會在你的程式及基本函式庫裡找你所用的函式。
如果找不到,C 編譯器就會給你一個linker錯誤:undefined reference to <函式名>。
若找得到就無事。

Example:

int check_log_expried(char *fn,char *file_name); ←就是少了這個宣告

int check_log_expried(char *fn,char *file_name){

}

0 意見:

張貼留言

 
Blogger Templates