如果我声明如下枚举:使用“:数字”,而声明变量
typedef enum A
{
a = 0x00000001,
b = 0x00000002
} AObj;
现在,如果我宣布AObj的变量如下这是什么意思?
AObj myAObj : 2;
如果我声明如下枚举:使用“:数字”,而声明变量
typedef enum A
{
a = 0x00000001,
b = 0x00000002
} AObj;
现在,如果我宣布AObj的变量如下这是什么意思?
AObj myAObj : 2;
这是一种指定使用位数的方法。 这是2意味着2位。
另请注意,这仅在与对齐方式相同的结构中的其他位域使用时才有用,并且填充将导致内存被跳过。
您可能正在谈论的“bit fields”,它使您能够创建一个结构,您可以在其中解决个别位。但是(!除非是我弄错了)你的语法都错了:你缺少逗号和等于在你的枚举迹象:
typedef enum A
{
a = 0x00000001,
b = 0x00000002
} AObj;
更重要的是,位域的struct
S的内部声明,所以它不是完全清楚你正在努力去做。
(或者,这是冒号的一些其他语法,我不知道的???)
你试着编译它? – yungchin 2009-02-14 11:55:39
对不起,我想我不得不把一个,:) – Raghu 2009-02-14 12:12:53