[class.union.anom]/4
英语不是我的母语,但仅通过阅读本段,我的印象是,上面突出显示的句子仅适用于X
是联合的情况,这会使该定义不完整,因为它将丢失变体成员的定义。在类里面。因此,我必须得出结论,突出显示的句子必须同时适用于案例,工会和类(Class)。有人可以确认吗?如果不是这种情况,那么我认为我们在这一段中有一个缺陷。
最佳答案
突出显示的句子适用于具有匿名工会成员的任何类似工会的类X
。 X
可以是非联盟类。
一个例子:
struct X { // union-like, non-union class X
union { // anonymous union member of X
int i; // non-static data member of anonymous union
float f;
}
}
按照突出显示的规则,
i
和f
是类X
的并集的变体成员。关于c++ - 标准中变体成员的定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54332785/