Freigeben über


Anonyme Unions

Anonyme Unions sind Unions, die ohne einen Klassennamen oder einen Deklarator Listedeklariert werden.

union  {  member-list  }  

Hinweise

Derartige Deklarationen union — Typen nicht deklarieren Deklarieren von Objekten.Die Namen, die in einer anonymen Union deklariert wurden, können nicht mit anderen Namen zu einem Konflikt, die sich im selben Gültigkeitsbereich deklariert werden.

In C# kann eine anonyme Union ein Tag aufweisen. Deklaratoren kann sie nicht zulässig.

Die Namen, die in einer anonymen Union werden direkt deklariert werden, z. B. Nichtmitglieds variablen verwendet.

Zusätzlich zu den Einschränkungen, die in Gewerkschaftsmitglied-Bezugspunktesind anonyme Unions je nach zusätzlichen Einschränkungen:

  • Sie müssen als auch static deklariert werden, wenn sie im Dateigültigkeitsbereich deklariert werden.Wenn sie im lokalen Gültigkeitsbereich deklariert werden, müssen sie statisch oder automatisch sein.

  • Sie können nur öffentliche Member aufweisen. private und geschützte Member in anonyme Unions generieren einen Fehler.

  • Sie können Member Funktionen enthalten.

    HinweisHinweis

    Ruft den Klassennamen Teil der Syntax einfach weg macht eine Union eine anonyme Union nicht.Damit eine Gesamtmenge als anonyme Union, die Deklaration darf kein Objekt deklarieren sich qualifiziert.

Beispiel

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

Siehe auch

Referenz

Unions