可能重复:
Why can’t you use offsetof on non-POD strucutures in C++?
我有两个班级:
struct A{
double one;
float two;
};
struct B : public A{
float three;
};
如果我正确地解释了C ++ 11标准布局限制,那么B不是标准的 布局,因为B和A都有非静态数据成员。我想用一个结构 像B和HDF5一样,它需要使用 offsetof 宏,据我所知,它仅限于标准布局对象。我的问题是,可能出现什么问题,使用像
这样的表达式offsetof(B, three)
它适用于gcc-4.6,但有没有人遇到类似情况下的意外行为?如果是这样,哪一个和哪个编译器?什么是最糟糕的情况?
此致 克拉斯