Я определяю некоторые структуры, которые ссылаются друг на друга, и набирают структуры перед их использованием, поэтому каждая структура «осведомлена» о других (получала ошибки компиляции без этого). Не уверен, что это необходимо или правильно.Предотвращение «переопределения typedef» предупреждений при определении структур
Теперь, когда вы компилируете gcc, я получаю предупреждения «redefinition of typedef». Каков правильный способ этого?
typedef struct a A;
typedef struct b B;
typedef struct c C;
struct a {
B* list;
A* parent;
};
struct b {
A* current;
B* next;
};
struct c {
A* current;
A* root;
};
UPDATE: Тупой, плохая копия-вставки в результате этого заголовка включаются дважды в другой файл. Я новичок в C и думал, что это должно быть связано с тем, что структуры в файле дважды. Спасибо @ Кевин Баллард за головы.
«переопределение ЬурейеГо»? Вы уверены, что не импортируете один и тот же заголовок дважды без защиты заголовков? –
Этот код отлично компилируется. Можете ли вы скопировать и вставить свой код? –