重新定义typedef错误

时间:2009-11-12 01:59:03

标签: c

我正在尝试将现有库集成到我的项目中。但是当我尝试编译时,我不断收到“重新定义typedef错误”。这是代码库的一部分。

代码:

typedef struct _tagAbc Abc;
typedef void *Apple (Abc* Orange);

typedef struct _tagAbc
{
    Apple red;
}
Abc;

似乎编译器不喜欢预先声明的struct和struct的实际定义。有什么地方可以解决这个问题吗?

1 个答案:

答案 0 :(得分:8)

代码尝试两次输入struct _tagAbc,一次在第一行,一次在实际结构声明中。如果您修改结构声明,如下所示,它应该可以正常工作。

typedef struct _tagAbc Abc;
typedef void *Apple (Abc* Orange);

struct _tagAbc
{
    Apple red;
};