атрибут switch
Переключатель ключевое слово выбирает дискриминант для encapsulated_union.
switch (switch-type switch-name)
-
switch-type
-
Указывает тип int, char, тип перечисления или идентификатор, который разрешается в один из этих типов.
-
switch-name
-
Указывает имя переменной типа switch-type , выступающей в качестве дискриминанта объединения.
typedef union _S1_TYPE switch (long l1) U1_TYPE
{
case 1024:
float f1;
case 2048:
double d2;
} S1_TYPE;
/* in generated header file */
typedef struct _S1_TYPE
{
long l1;
union
{
float f1;
double d2;
} U1_TYPE;
} S1_TYPE;