0
我的代碼從調用3個函數,用3頭一個main.c中下面的示例代碼片段 - 這是給我警告,不明原因:警告:函數的隱式聲明 - 包含事物的順序?
#include "header1.h"
#include "header2.h"
#include "header3.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
基本上,在使用gcc之後,函數2會產生警告。但是,代碼重新排列,以這樣的事情後:
#include "header3.h"
#include "header1.h"
#include "header2.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
它將然後給我,其功能1 & 2是隱含的警告。我在這裏做錯了什麼?
改變請提供一個[MCVE。我們需要看到頭文件的確切內容。你可能有一個/所有的錯誤(使用相同的包括守衛是我的猜測)。 – kaylum
如果標題未正確包含從屬標題或使用不明確的宏/條件編譯,則會發生此類錯誤。看[問],提供[mcve]。這裏 – Olaf
@kaylum是頭文件中的一個,其餘跟風 '的#ifndef __REZON_FUNCTIONS__ 的#define __REZON_FUNCTIONS__ 無效功能1(); #endif' – rezon