In the following code:
typedef struct
{
union U
{
int a;
char b;
}U1;
}A;
typedef struct
{
union U
{
int a;
char b;
}U1;
}B;
The compiler gives an error "[Error] redefinition of 'union U' ". But these unions are members of different structures. So generally there is no chance of variable name interference. So what can be the reason for this error?