switch_type (attributo)

L'attributo [switch_type] identifica il tipo della variabile usata come discriminante di unione. Il tipo di opzione può essere un tipo integer, carattere, booleano o enumerazione.

switch_type(switch-type-specifier)

Parametri

switch-type-specifier

Specifica un tipo int, char, booleano o enumerazione o un identificatore di tale tipo.

Commenti

Mentre l'attributo [switch_type] identifica il tipo di variabile, l'attributo [switch_is] specifica il nome del parametro che rappresenta la discriminante unione. L'attributo [switch_type] si applica a parametri o membri di strutture o unioni.

L'unione e la relativa discriminante devono essere specificate allo stesso livello logico. Quando l'unione è un parametro, il discriminante dell'unione deve essere un altro parametro. Quando l'unione è un campo di una struttura, il discriminante deve essere un altro campo della struttura allo stesso livello del campo unione.

Esempi

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;

Vedere anche

Boolean

Char

Unioni incapsulate

Enum

File IDL (Interface Definition)

int

Unioni non incapsulate

switch_is

Unione