如何在 C 中转发声明 FILE *
?我通常使用 struct MyType;
来执行此操作,但自然这似乎是不可能的。
如果 C 标准或编译器与 C++ 之间的行为不同,这也是令人感兴趣的。
更新0
我为什么要这样做:我要问的是如何转发声明非结构/“typedef'd struct”类型,以便我可以声明指向它的指针。显然使用 void *
并将其转换到源文件中有点hackish。
最佳答案
你不能。该标准只是声明FILE
是“一种能够记录控制流所需的所有信息的对象类型”;这是否是 typedef
取决于实现。的 struct
(反正你不知道他的名字),或者别的什么。
声明FILE
的唯一可移植方式与 #include <stdio.h>
(或 <cstdio>
在 C++ 中)。
关于c++ - 前向声明文件 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882346/