我有一个头文件(sample.h)为我的c文件(sample.c)。当我在头文件中创建一个函数的原型时,如下所示:
return_type sample_fun (FILE *filePtr);
我得到一个编译错误说,Syntax error: possible missing ')' or ','?
当我包含stdio.h错误被解决。是强制性的吗?我的一些文件没有include也能很好地工作。
是,FILE
类型在stdio.h
中定义;如果您提到它,那么您必须包含该文件。
是的。在大多数平台上,FILE
是由struct iobuf
衍生而来的typedef
。这需要struct iobuf
的完整定义,即使所有接口都使用FILE *
,并且指针类型在使用之前通常不需要完整的定义(C限制)。