Atributo switch_type

O atributo [switch_type] identifica o tipo da variável usada como discriminante de união. O tipo de comutador pode ser um tipo inteiro, caractere, booliano ou enumeração.

switch_type(switch-type-specifier)

Parâmetros

switch-type-specifier

Especifica um tipo int, char, booliano ou enumerado ou um identificador desse tipo.

Comentários

Embora o atributo [switch_type] identifique o tipo de variável, o atributo [switch_is] especifica o nome do parâmetro que é o discriminador de união. O atributo [switch_type] aplica-se a parâmetros ou membros de estruturas ou uniões.

A união e seu discriminador devem ser especificados no mesmo nível lógico. Quando a união é um parâmetro, o discriminador de união deve ser outro parâmetro. Quando a união é um campo de uma estrutura, o discriminador deve ser outro campo da estrutura no mesmo nível que o campo união.

Exemplos

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;

Confira também

Boolean

Char

Uniões Encapsuladas

Enum

Arquivo IDL (definição de interface)

INT

Uniões NãoCapsuladas

switch_is

union