次の方法で共有


case (C++)

共用体の switch_type 属性と一緒に使用します。

[ case(
      value
) ]

パラメータ

  • value
    処理を行う入力値。value の型は以下のいずれかになります。

    • int

    • char

    • boolean

    • enum

    または、これらの型の識別子も可能です。

解説

C++ 属性 case の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 case と同じです。この属性と共に使用される属性は 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")];

必要条件

属性コンテキスト

対象

class または struct のメンバ

複数回の適用

不可

必要な属性

なし

無効な属性

なし

属性コンテキストの詳細については、「属性コンテキスト」を参照してください。

参照

概念

IDL 属性

Typedef、Enum、Union、および Struct 型の属性

クラス属性

ATL サンプル