Is it legal to have fields with the same name across different anonymous unions inside one union?
union Foo
{
union
{
int bar;
};
union
{
int bar;
};
};
This code fails to compile by GCC but works fine in MSVC.
This is not allowed by C++ standard. Any compiler which compiles this code is non-conformant.
See 10.4.1/1:
The names of the members of an anonymous union shall be distinct from the names of any other entity in the scope in which the anonymous union is declared.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With