匿名联合

匿名联合是声明,不需要 类名称公告列表的联合。

union  {  member-list  }  

备注

此类联合声明不声明类型 —声明对象。 在匿名联合声明的名称不能相冲突。在同一范围中声明的其他名称。

在 C 中,匿名联合可以具有标记;它不能有声明。

在匿名联合声明的名称直接使用,与非成员变量。

除了在 联合成员资格数据列表的限制外,匿名联合受附加限制:

  • 在文件范围还必须将它们声明为 静态 ,如果声明。 如果在声明局部范围,它们必须是静态或自动进行的。

  • 它们可以只有公共成员;匿名联合的私有的和受保护的成员生成错误。

  • 它们不能具有成员。

    备注

    省略语法的 类名称 部分不执行联合匿名联合。为了使联合限定为匿名联合,声明不能声明对象。

示例

// anonymous_unions.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
int main() {
   union {
      int d;
      char *f;
   };

   d = 4;
   cout << d << endl;

   f = "inside of union";
   cout << f << endl;
}
  

请参见

参考

联合