說我有一個非常小的頭文件,像這樣:問題「多重定義」
#ifndef A_H_
#define A_H_
void print();
int getInt()
{ //ERROR HERE
return 5;
}
#endif /* A_H_ */
和源文件執行打印,像這樣:
#include "a.h"
void print()
{
printf("%d\n",getInt()); //WARNING HERE
}
我的main()函數的代碼:
#include <stdio.h>
#include <stdlib.h>
#include "a.h"
int main(void)
{
print();
return EXIT_SUCCESS;
}
注意getInt
在頭文件中定義,在源文件中調用。 我編譯時得到multiple definition of
getInt'`在頭文件,但我只 定義一次吧!源文件(.c)僅調用它。我的問題是什麼? 感謝
給出,這將彙編就好了。您真正的問題可能包括標題兩次,或將其包含在多個文件中。在一個問題張貼代碼 –
規則一:請確保它實際上*重現問題*。你會自己找到解決方案。 –