Export (0) Print
Expand All

case

Used with the switch_type attribute in a union.

[ case(
   value
) ]

Parameter

value
A possible input value for which you want to provide processing. The type of value can be one of the following types:
  • int
  • char
  • boolean
  • enum

or an identifier of such a type.

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.

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")];

See Also

IDL Attributes | Typedef, Enum, Union, and Struct Attributes | Class Attributes | Attributes Samples

Show:
© 2015 Microsoft