Я разрабатывал свое приложение, используя GCC 4.6 для компиляции, но пользователь сообщил об ошибке «переопределение typedef».После некоторой путаницы, когда я ошибочно сказал пользователю выбирать последний источник с помощью Git, я внимательно посмотрел и обнаружил нечто похожее на это:
/* mystruct.h */
#ifdef MYSTRUCT_H
#define MYSTRUCT_H
typedef struct _mystruct mystruct
#endif
/* mystruct.c */
#include "mystruct.h"
typedef struct _mystruct
{
int a;
int b;
} mystruct;
Что довольно легко исправить в старых версиях GCCно почему это больше не ошибка?Или для этого нужна отчетность?