[class.union.anom]/4



英语不是我的母语,但仅通过阅读本段,我的印象是,上面突出显示的句子仅适用于X是联合的情况,这会使该定义不完整,因为它将丢失变体成员的定义。在类里面。因此,我必须得出结论,突出显示的句子必须同时适用于案例,工会和类(Class)。有人可以确认吗?如果不是这种情况,那么我认为我们在这一段中有一个缺陷。

最佳答案



突出显示的句子适用于具有匿名工会成员的任何类似工会的类XX可以是非联盟类。

一个例子:

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;
    }
}

按照突出显示的规则,if是类X的并集的变体成员。

关于c++ - 标准中变体成员的定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54332785/

10-11 22:06
查看更多