此联合的大小返回16个字节(在C ++ Builder 2007中)。
typedef union
{
struct
{
unsigned Type:2;
unsigned Prev:31;
unsigned Next:31;
unsigned SizeInBytes:32;
};
} eMyUnion;
如果我想要sizeof(eMyUnion)= 12个字节,我该如何修改此联合定义?
(我想保留这些字段及其大小,但是可以重新排序)。
有可能的 ?
最佳答案
#pragma pack(push, 1)
struct
{
unsigned Type:2;
unsigned Prev:31;
unsigned Next:31;
unsigned SizeInBytes:32;
};
#pragma pack(pop)
关于c++ - C++ Builder 2007, union 和位字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15001268/