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 |
複数回の適用 |
不可 |
必要な属性 |
なし |
無効な属性 |
なし |
属性コンテキストの詳細については、「属性コンテキスト」を参照してください。