switch_type

共用体の判別変数として使用される変数の型を識別します。

[switch_type(type}]

パラメータ

  • type
    スイッチ型は整数、文字、ブール値、または列挙型になります。

解説

C++ 属性 switch_type の機能は、Microsoft インターフェイス定義言語 (MIDL: Microsoft Interface Definition Language) 属性 switch_type と同じです。

C++ 属性では、カプセル化共用体はサポートされません。非カプセル化共用体がサポートされるのは、次の形式だけです。

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

使用例

switch_type の使用例については、「case」を参照してください。

必要条件

属性コンテキスト

対象

typedef

複数回の適用

不可

必要な属性

なし

無効な属性

なし

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

参照

概念

IDL 属性

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

export

ATL サンプル