Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at case (C++).
Used with the switch_type attribute in a union.
Syntax
[ case(
value
) ]
Parameters
value
A possible input value for which you want to provide processing. The type of value can be one of the following types:
intcharboolean
enum
or an identifier of such a type.
Remarks
The case C++ attribute has the same functionality as the case MIDL attribute. This attribute is only used with the switch_type attribute.
Example
The following code shows a use of the case attribute:
// 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")];
Requirements
Attribute Context
| Applies to | Member of a class or struct |
| Repeatable | No |
| Required attributes | None |
| Invalid attributes | None |
For more information about the attribute contexts, see Attribute Contexts.
See Also
IDL Attributes
Typedef, Enum, Union, and Struct Attributes
Class Attributes
Attributes Samples