Compartir a través de


switch_type (atributo)

El atributo [switch_type] identifica el tipo de la variable utilizada como discriminante de unión. El tipo de modificador puede ser un tipo entero, carácter, booleano o enumeración.

switch_type(switch-type-specifier)

Parámetros

switch-type-specifier

Especifica un tipo int, char, Boolean o enum , o un identificador de este tipo.

Observaciones

Aunque el atributo [switch_type] identifica el tipo de variable, el atributo [switch_is] especifica el nombre del parámetro que es la unión discriminante. El atributo [switch_type] se aplica a parámetros o miembros de estructuras o uniones.

La unión y su discriminante deben especificarse en el mismo nivel lógico. Cuando la unión es un parámetro, el discriminante de unión debe ser otro parámetro. Cuando la unión es un campo de una estructura, el discriminante debe ser otro campo de la estructura en el mismo nivel que el campo de unión.

Ejemplos

typedef [switch_type(short)] union _WILLIE_UNION_TYPE 
{ 
    [case(24)] 
        float fMays; 
    [case(25)] 
        double dMcCovey; 
    [default] 
        ; 
} WILLIE_UNION_TYPE; 
 
typedef struct _WINNER_TYPE 
{ 
    [switch_is(sUniformNumber)] WILLIE_UNION_TYPE w; 
    short sUniformNumber; 
} WINNER_TYPE;

Vea también

Boolean

char

Uniones encapsuladas

Enum

Archivo de definición de interfaz (IDL)

int

Uniones no encapsuladas

switch_is

Unión