В следующем коде:
typedef struct
{
union U
{
int a;
char b;
}U1;
}A;
typedef struct
{
union U
{
int a;
char b;
}U1;
}B;
Компилятор выдает сообщение об ошибке "[Ошибка] переопределения" union U ". Но эти союзы являются членами разных структур. Таким образом, как правило, нет никаких шансов на изменение переменных имен. Так в чем же причина этой ошибки?