case (C++)

union 中的 switch_type 属性一起使用。

语法

[ case(value) ]

参数

value
要为其提供处理的可能输入值。 的类型如下所示:

  • int

  • char

  • boolean

  • enum

或者此类类型的标识符。

备注

case C++ 属性与 case MIDL 属性具有相同的功能。 此属性仅与 switch_type 属性一起使用。

示例

下面的代码演示 case 属性的用法:

// cpp_attr_ref_case.cpp
// compile with: /LD
#include <unknwn.h>
[export]
struct SizedValue2 {
   [switch_type(char), switch_is(kind)] union {
      [case(1), string]
          wchar_t* wval;
      [default, string]
          char* val;
   };
    char kind;
};
[module(name="ATLFIRELib")];

要求

特性上下文
适用于 classstruct 的成员
可重复
必需的特性
无效的特性

有关特性上下文的详细信息,请参见 特性上下文

另请参阅

IDL 特性
Typedef、Enum、Union 和 Struct 特性
类特性