switch_type (attribut)

L’attribut [switch_type] identifie le type de la variable utilisée comme discriminant d’union. Le type de commutateur peut être un entier, un caractère, un type booléen ou un type d’énumération.

switch_type(switch-type-specifier)

Paramètres

switch-type-specifier

Spécifie un type int, char, Boolean ou enum , ou un identificateur d’un tel type.

Notes

Alors que l’attribut [switch_type] identifie le type de variable, l’attribut [switch_is] spécifie le nom du paramètre qui est le discriminant d’union. L’attribut [switch_type] s’applique aux paramètres ou aux membres de structures ou d’unions.

L’union et son discriminant doivent être spécifiés au même niveau logique. Lorsque l’union est un paramètre, le discriminant d’union doit être un autre paramètre. Lorsque l’union est un champ d’une structure, le discriminant doit être un autre champ de la structure au même niveau que le champ union.

Exemples

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;

Voir aussi

Booléen

char

Unions encapsulées

Enum

Fichier de définition d’interface (IDL)

int

Unions non encapsulées

switch_is

Union