天天看點

Keil警告:warning: #223-D: function “xxx“ declared implicitly解決

原因:這種情況下很可能是頭檔案的預定義聲明重複了。比如寫了兩個LED檔案,一個是LED1.c,另一個是LED2.c。他們倆都是從LED.c移植過來的,然後頭檔案忘了修改,裡面的預定義都是

#ifndef __LED_H_
#define __LED_H_

	........

#endif
           

這時候如果在在main.c中包含頭檔案時,先包含了LED1.h,後包含了LED2.h,在頭檔案預定義防止重複包含的作用下,就會導緻LED2.h中的函數和變量聲明失效,進而導緻上面的警告。同理,如果先包含了LED2h,後包含了LED1.h,就會導緻LED1.h的有關函數出現警告。我正是在main.c中切換頭檔案的包含順序時發現的這一問題。

繼續閱讀