示例代码
struct A
{
union
{
struct B
{
short a:1;
short b:1;
};
};
};
我想将变量声明为struct B的变量。我该怎么办?
答案 0 :(得分:0)
该标准不允许匿名union
中的嵌套类型。您的代码不合法。
来自C ++草案标准N3337:
9.5联盟
...
5表格的联合
union
{member-specification};被称为匿名联盟;它定义了一个未命名类型的未命名对象。匿名联合的成员规范只应定义非静态数据成员。 [注意:嵌套类型和函数不能 在匿名工会内宣布。 - 结束记录]