| title | switch_type | Microsoft Docs | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||||||||
| ms.date | 11/04/2016 | |||||||||||||
| ms.reviewer | ||||||||||||||
| ms.suite | ||||||||||||||
| ms.technology |
|
|||||||||||||
| ms.tgt_pltfrm | ||||||||||||||
| ms.topic | language-reference | |||||||||||||
| f1_keywords |
|
|||||||||||||
| dev_langs |
|
|||||||||||||
| helpviewer_keywords |
|
|||||||||||||
| ms.assetid | e24544dc-b3bc-48ae-b249-f967db49271e | |||||||||||||
| caps.latest.revision | 11 | |||||||||||||
| author | mikeblome | |||||||||||||
| ms.author | mblome | |||||||||||||
| manager | ghogen | |||||||||||||
| translation.priority.ht |
|
Identifies the type of the variable used as the union discriminant.
[switch_type(
type
}]
type
The switch type, can be an integer, character, Boolean, or enumeration type.
The switch_type C++ attribute has the same functionality as the switch_type MIDL attribute.
C++ attributes do not support encapsulated unions. Nonencapsulated unions are supported only in the following form:
// 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;
};
See the case example for a sample use of switch_type.
| Applies to | typedef |
| Repeatable | No |
| Required attributes | None |
| Invalid attributes | None |
For more information about the attribute contexts, see Attribute Contexts.
IDL Attributes
Typedef, Enum, Union, and Struct Attributes
export