联合内部不同匿名结构中具有相同名称的字段

时间:2018-11-14 22:15:29

标签: c++

在一个union中的不同匿名结构中具有相同名称的字段合法吗?

union Foo
{
    struct
    {
        int bar;
    };

    struct
    {
        int bar;
    };
};

MSVC实际上允许这样做,而GCC不允许。

1 个答案:

答案 0 :(得分:4)

代码无效,仅是因为C ++没有匿名结构。

使用-pedantic-errors,GCC拒绝使用error: ISO C++ prohibits anonymous structs [-Wpedantic]进行编译。