switch_type 特性

[switch_type] 属性标识用作联合判别函数的变量的类型。 开关类型可以是整数、字符、布尔值或枚举类型。

switch_type(switch-type-specifier)

parameters

switch-type-specifier

指定 intcharBoolean枚举 类型,或此类类型的标识符。

备注

虽然 [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;

另请参阅

布尔

字符

封装的联合

枚举

接口定义 (IDL) 文件

int

非封装联合

switch_is

联盟