我想知道,以下列方式组织数据是否可以接受?由于成员初始化程序的缘故,结构不再是POD类型,并且编译器发出有关打包属性被忽略的警告。是否可以保证它们包装好?
struct StructOne
{
const quint8 h{0x11};
} __attribute__((packed));
struct StructTwo
{
const quint8 h{0x22};
} __attribute__((packed));
struct StructThree
{
quint8 s{0x33}
union
{
StructOne s1;
StructTwo s2;
} __attribute__((packed));
} __attribute__((packed));
struct Top
{
union
{
StructThree s3;
quint8 data[2];
} __attribute__((packed));
} __attribute__((packed));