[英]warning: implicit declaration of function
我正在用C編程,我的gcc編譯器在mySedondFile.c:
函數調用中給了我以下警告mySedondFile.c:
implicit declaration of function 'func'
函數原型在myfile.h
聲明為:
void func(char*);
函數定義在myfile.c
void func(char*x);
mySecondFile.c
包含:
#include "myfile.h"
func("Hello");
我想念為什么會抱怨。
發出該錯誤是因為在func
尚未聲明func
。
聽起來您的頭文件並不像您所描述的那樣。 也許有一些條件代碼。 也許您有一個無法正常工作的標題保護。 另一種可能性是,您遇到了字母大寫錯誤,並聲明了Func
函數,但使用func
對其進行了func
。 在沒有看到實際文件的情況下很難說,但是您需要尋找在mySecondFile.c
轉換單元中未聲明func
的原因。
為了更清楚地說明這一點,下面的代碼:
int main(void)
{
func("Hello");
return 0;
}
導致此警告:
prog.c: In function ‘main’:
prog.c:3: warning: implicit declaration of function ‘func’
完全符合您的報告。
根據您的描述,您的代碼包括一個聲明了func
的頭文件。 編譯器可能會與您有所不同,並且仍然需要弄清楚為什么未聲明func
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.