如果我聲明如下枚舉:使用「:數字」,而聲明變量
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