我如何声明一个联合体中的结构变量,并且该联合体位于另一个结构中

时间:2015-01-12 05:06:46

标签: c++ struct

示例代码

struct A
{

 union
  {

    struct B
    {
     short a:1;
     short b:1;

    }; 

  };


 };

我想将变量声明为struct B的变量。我该怎么办?

1 个答案:

答案 0 :(得分:0)

该标准不允许匿名union中的嵌套类型。您的代码不合法​​。

来自C ++草案标准N3337:

  

9.5联盟

     

...

     

5表格的联合

     

union {member-specification};

     

被称为匿名联盟;它定义了一个未命名类型的未命名对象。匿名联合的成员规范只应定义非静态数据成员。 [注意:嵌套类型和函数不能   在匿名工会内宣布。 - 结束记录]