schot's answer is a good one. He claimed that
- Tags (names of structures, unions and enumerations).
I think that the tags for structures, unions and enumerations have different namespaces, so that this code is completely fine:
// In the same scope
struct T {};
union T {};
enum T {};
But inferring from the quotation above, it looks like all tags share the same namespace. Is the answer not clear enough or am I wrong?