共用方式為


匿名等位

匿名等位會未宣告的等位類別名稱宣告子清單

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;
}
  

請參閱

參考

等位