Udostępnij za pośrednictwem


Związki anonimowe

Związki anonimowe są związki, które są zadeklarowane bez Nazwa klasy lub listy; niewłaściwy deklarator.

union  {  member-list  }  

Uwagi

Takie deklaracje Unii nie są deklarowane typy — one zadeklarować obiekty.Nazwy, zadeklarowanych w Unii anonimowy nie może powodować konfliktu z innych nazw zadeklarowany w tym samym zakresie.

C anonimowe Unii mogą mieć tag; nie może mieć declarators.

Zadeklarowane w Unii anonimowe nazwy są używane bezpośrednio, jak zmienne prawodawstwa wspólnotowego.

Oprócz ograniczeń wymienionych w Unii dane elementu członkowskiego, związków anonimowe są dodatkowych ograniczeń:

  • Również musi być zadeklarowany jako statyczne Jeżeli zadeklarowane w zakresie pliku.Jeżeli zadeklarowane w zakres lokalny, musi być statyczne lub automatyczne.

  • Mogą one mieć tylko członkowie publicznych; członków prywatnych i chronione w związkach anonimowe generować błędy.

  • Nie mają funkcji członków.

    [!UWAGA]

    Pominięcie Nazwa klasy fragment składni nie oznacza, że Unia anonimowe Unii.Dla Unii w celu zakwalifikowania jako anonimowe Unii zgłoszenia nie może zadeklarować obiektu.

Przykład

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

Zobacz też

Informacje

Związki