Переопределение ошибки typedef - PullRequest
1 голос
/ 12 ноября 2009

Я пытаюсь интегрировать существующую библиотеку в свой проект. Но я продолжаю получать эту «Переопределение typedef error», когда я пытаюсь скомпилировать. Вот код, который является частью библиотеки.

Код:

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

typedef struct _tagAbc
{
    Apple red;
}
Abc;

Кажется, что компилятору не нравятся предварительно объявленная структура и фактическое определение структуры вместе. Есть ли где-нибудь, чтобы решить эту проблему?

1 Ответ

8 голосов
/ 12 ноября 2009

Код пытается дважды определить struct _tagAbc, один раз в первой строке и один раз в фактическом объявлении структуры. Если вы измените объявление структуры, как показано ниже, оно должно работать правильно.

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

struct _tagAbc
{
    Apple red;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...