匿名等位
匿名等位會未宣告的等位類別名稱 或 宣告子清單。
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;
}