这是一个头我在第三方库中的摘录:为返回结构指针的函数声明typedef?
struct aiFileIO;
struct aiFile;
// aiFile write callback
typedef size_t (*aiFileWrite) (struct aiFile*, const char*);
// aiFileIO open callback
typedef aiFile* (*aiFileOpen) (struct aiFileIO*, const char*);
为什么最后一行没有返回类型之前包含struct
类型说明符? 换句话说这是为什么最后一行没有:
typedef struct aiFile* (*aiFileOpen) (struct aiFileIO*, const char*);
这将使它明确该函数返回一个指向结构aiFile。
万一其重要的struct aiFile
被定义在相同的头几行后。
也许是因为创建头文件在C使用++项目,其中' struct'关键字不需要?或者也许有一个你没有看到的typedef? – 2014-10-20 12:13:23
我99%的确信这个头文件是用C语言编写的。这个文件如果你不介意看一下:https://github.com/assimp/assimp/blob/d6551990433264e029b476455db90d1d889e461c/include/assimp/ cfileio.h – user10607 2014-10-20 12:25:53
然后我建议你把它作为bug报告给作者。 – 2014-10-20 12:34:55