我正在使用C生成文件,當它只有main.c和data.h,但只要我添加了一個函數頭到data.h和併爲該函數提供文件,該函數實際上定義了它在編譯時開始出錯的函數。使用頭文件和生成文件在C中函數的衝突的類型
我:
/* main.c */
#include "data.h"
int main() { /* this is empty */ }
和
/* data.h */
char foo(char);
和
/* foo.c */
#include "data.h"
char foo(char){
...
}
我得到的錯誤是conflicting types for 'foo'
和note: previous declaration of 'foo'
。
有人問過這個問題的其他人試圖使用一個函數之前,它被宣佈或沿着這些行的東西,但我似乎無法找到在這個例子中出現。
什麼是實際的完整錯誤信息? – melpomene
Makefile在哪裏? –
makefile與其他文件位於同一目錄中。完整的錯誤是''foo'data.h'的衝突類型。1:注意:'foo'的前面聲明在這裏' –