atribut switch_type
Atribut [switch_type] mengidentifikasi jenis variabel yang digunakan sebagai diskriminan serikat. Jenis sakelar dapat berupa bilangan bulat, karakter, Boolean, atau jenis enumerasi.
switch_type(switch-type-specifier)
-
switch-type-specifier
-
Menentukan jenis int, char, Boolean, atau enum , atau pengidentifikasi jenis tersebut.
Sementara atribut [switch_type] mengidentifikasi jenis variabel, atribut [switch_is] menentukan nama parameter yang merupakan diskriminan serikat. Atribut [switch_type] berlaku untuk parameter atau anggota struktur atau serikat.
Serikat dan diskriminannya harus ditentukan pada tingkat logis yang sama. Ketika serikat adalah parameter, persatuan diskriminan harus menjadi parameter lain. Ketika serikat adalah bidang struktur, diskriminan harus bidang lain dari struktur pada tingkat yang sama dengan bidang serikat.
typedef [switch_type(short)] union _WILLIE_UNION_TYPE
{
[case(24)]
float fMays;
[case(25)]
double dMcCovey;
[default]
;
} WILLIE_UNION_TYPE;
typedef struct _WINNER_TYPE
{
[switch_is(sUniformNumber)] WILLIE_UNION_TYPE w;
short sUniformNumber;
} WINNER_TYPE;