我有一个头文件(sample.h)为我的c文件(sample.c)。当我在我的头文件中创建一个函数如下。是否包含FILE在C中需要的<stdio.h>?
return_type sample_fun (FILE *filePtr);
我得到一个编译错误说,Syntax error: possible missing ')' or ','?
当我包括stdio.h中的错误得到解决。 stdio.h包含强制性的吗?我的一些文件在没有包含的情况下运行良好。
我在AIX上使用gcc。
我有一个头文件(sample.h)为我的c文件(sample.c)。当我在我的头文件中创建一个函数如下。是否包含FILE在C中需要的<stdio.h>?
return_type sample_fun (FILE *filePtr);
我得到一个编译错误说,Syntax error: possible missing ')' or ','?
当我包括stdio.h中的错误得到解决。 stdio.h包含强制性的吗?我的一些文件在没有包含的情况下运行良好。
我在AIX上使用gcc。
是的,类型FILE
定义在stdio.h
;如果你提到它,那么你必须包含该文件。
是的。 FILE
是typedef
在大多数平台上由struct iobuf
编辑。这要求存在struct iobuf
的完整定义,即使所有接口都使用FILE *
,并且指针类型在使用前通常不需要完整的定义(C限制)。
查看此问题以获取更多信息:Forward declare FILE *
'FILE'类型在'stdio.h'中定义。 – ruslik 2011-04-30 12:23:31
没有它,哪些文件可以正常工作?这些文件可能包含一些其他包含stdio.h的头文件。 – 2011-04-30 12:29:53
@是的,他们可能会包含很多头文件。 – San 2011-05-02 09:51:24