switch_type 属性
[switch_type] 属性は、共用体判別として使用される変数の型を識別します。 スイッチの種類には、整数、文字、ブール型、または列挙型を指定できます。
switch_type(switch-type-specifier)
[switch_type] 属性は変数の型を識別しますが、[switch_is] 属性は共用体判別式であるパラメーターの名前を指定します。 [switch_type] 属性は、構造体または共用体のパラメーターまたはメンバーに適用されます。
共用体とその判別は、同じ論理レベルで指定する必要があります。 共用体がパラメーターの場合、共用体判別は別のパラメーターでなければなりません。 共用体が構造体のフィールドである場合、判別は共用体フィールドと同じレベルの構造体の別のフィールドである必要があります。
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;