匿名联合
匿名联合是声明,不需要 类名称 或 公告列表的联合。
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;
}