我正在使用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'的前面声明在这里' –