Share via


Uniones anónimas

Las uniones anónimas son las uniones declaradas sin un nombre de clase o una lista de declaradores.

union  {  member-list  }  

Comentarios

Estas declaraciones de unión no declaran tipos — declaran objetos.los nombres declarados en una unión anónima no pueden estar en conflicto con otros nombres declarados en el mismo ámbito.

En C, una unión anónima puede tener una etiqueta; no puede tener declarantes.

Los nombres declarados en una unión anónima se utilizan directamente, como variables de no es miembro.

Además de las restricciones enumeradas en Datos de la union, las uniones anónimas están sujetos a las restricciones adicionales:

  • También deben declararse como Estática si están declarados en el ámbito del archivo.Si están declarados en el ámbito local, deben ser estáticos o automáticos.

  • Sólo pueden tener miembros públicos; los miembros privados y protegidos de uniones anónimas generan errores.

  • no pueden tener miembros de la función.

    [!NOTA]

    Simplemente omitiendo a la parte del nombre de clase de sintaxis no crea una unión una unión anónima.para que una unión califique como unión anónima, la declaración no debe declarar un objeto.

Ejemplo

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

Vea también

Referencia

Uniones