我编译了这个(gcc编译器):
#include <stdio.h>
main() {
struct {
a:1;
b:2;
} t;
t.b=6;
t.a=2;
printf("%d %d",t.a,t.b);
}
显示的错误是:
在'a'
之前的预期说明符限定符列表默认情况下,当未命名的数据变量被视为int时,为什么需要它。请解释......
答案 0 :(得分:1)
这是C language standard所要求的。根据第6.7.2.1节第4部分:
比特字段的类型应为_Bool,signed int,unsigned int或其他一些实现定义类型的合格或不合格版本。