2016-11-25 73 views
-2

我寫了一個包含函數原型並導入到main.c文件中的頭文件!儘管它編譯和運行,我只收到1個函數的警告「隱式函數聲明」!沒有其他警告與在頭文件中聲明原型的其他函數有關!這是什麼原因?在編譯main.c文件時得到警告

+2

我希望我能看到你的控制檯顯示包含行號的警告,並在main.c中讀取該行;) – Arun

+0

您需要向我們顯示代碼和警告。 –

+1

第23行有錯字。但嚴重的是,您如何期望任何人告訴您發生了什麼,而不會發布您的代碼和錯誤消息。 –

回答

0

可能您正在使用未聲明的函數。請參考link

+0

這實在比評論的答案更重要。我知道你還不能評論;耐心是一種美德。 –

0

如果你調用一個函數未聲明的,使用的功能變成它(隱含的)聲明和隱含的聲明實際上是C.錯誤,因爲你的gcc編譯器選擇你的程序只顯示爲警告至。

由於您的其他功能都與給定的原型一起工作,因此我建議您檢查一下您的功能聲明並確保沒有錯別字。如果你發佈你的代碼......我會用更合適的迴應更新我的答案。

+0

這與答案一樣多。我知道你還不能評論(但如果你小心的話,你很快就能做到這一點);耐心是一種美德。 –

0

爲了給出更清晰的答案,我需要查看代碼,但是一開始您不應該包含.c文件。例如,在main.c中,你應該使用#include包含你的頭文件,然後如果你有一個你正在使用的庫,那麼你也應該在頭文件中包含頭文件,但不是主頭文件。

也可能是您的函數的類型不正確,或者具有與原型中指定的類型不同的類型。