簡體   English   中英

警告:函數的隱式聲明

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM