Typedef'евые структуры, которые имеют указатели друг к другу

ANSI C позволяет двумя разными структурами могут содержать указатели друг с другом (также показано в . друг друга ). Я знаю, что это не хорошая идея во многих обстоятельствах, но это не вопрос здесь. Можно ли достичь то же самое использование ypeedef edud strends?

код ниже работает просто отлично.

struct b;
typedef struct a {
    struct b *bb;
} A;
typedef struct b {
    struct a *aa;
} B;

Но с использованием типа «B» не удается

typedef struct b B;
typedef struct a {
    B *bb;
} A;
typedef struct b {
    A *aa;
} B;

с

Ошибка: переопределение Typedef 'B'

можно ли сказать компилятору, что «B» будет объявлено позже и использовать его в определении из а?

5
задан Community 23 May 2017 в 11:51
поделиться