Tag: anonymous struct

这是一个C11匿名结构吗?

我正在调查C11草案,它说 没有标记的结构类型的未命名成员称为匿名结构; 没有标记的联合类型的未命名成员称为匿名联合。 匿名结构或联合的成员被视为包含结构或联合的成员。 所以我构建了以下测试用例 // struct type with no tag typedef struct { unsigned char a; unsigned char b; // … Some other members … unsigned char w; } AToW; union { AToW; // <- unnamed member unsigned char bytes[sizeof(AToW)]; } myUnion; Clang和GCC都抱怨这名未透露姓名的成员,并表示该声明无效。 我做错了什么,或者他们根本不支持这个function?