我正在尝试将现有库集成到我的项目中。但是当我尝试编译时,我不断收到“重新定义typedef错误”。这是代码库的一部分。
代码:
typedef struct _tagAbc Abc;
typedef void *Apple (Abc* Orange);
typedef struct _tagAbc
{
Apple red;
}
Abc;
似乎编译器不喜欢预先声明的struct和struct的实际定义。有什么地方可以解决这个问题吗?
答案 0 :(得分:8)
代码尝试两次输入struct _tagAbc,一次在第一行,一次在实际结构声明中。如果您修改结构声明,如下所示,它应该可以正常工作。
typedef struct _tagAbc Abc;
typedef void *Apple (Abc* Orange);
struct _tagAbc
{
Apple red;
};