atribut enum
Enum kata kunci mengidentifikasi jenis enumerasi.
enum [tag ]
{
identifier [=integer-value ]
[ , ... ]
}
-
tag
-
Menentukan tag opsional untuk jenis enumerasi.
-
pengidentifikasi
-
Menentukan enumerasi tertentu.
-
nilai bilangan bulat
-
Menentukan nilai bilangan bulat konstanta.
jenis enum dapat muncul sebagai penentu tipe dalam deklarasi typedef, deklarasi umum, dan deklarator fungsi (baik sebagai function-return-type atau sebagai penentu jenis parameter). Untuk konteks di mana penentu jenis muncul, lihat File Definisi Antarmuka (IDL).
Dalam mode default pengkompilasi MIDL, Anda dapat menetapkan nilai bilangan bulat ke enumerator. (Fitur ini tidak tersedia saat Anda mengkompilasi dengan sakelar /osf .) Seperti halnya enumerator bahasa C, nama enumerator harus unik, tetapi nilai enumerator tidak perlu.
Ketika operator penugasan tidak disediakan, pengidentifikasi dipetakan ke bilangan bulat berturut-turut dari kiri ke kanan, dimulai dengan nol. Saat operator penugasan disediakan, nilai yang ditetapkan dimulai dari nilai yang terakhir ditetapkan.
Jumlah maksimum pengidentifikasi adalah 65.535.
Objek jenis enum adalah jenis int , dan ukurannya tergantung pada sistem. Secara default, objek jenis enum diperlakukan sebagai objek 16-bit jenis pendekyang tidak ditandatangani saat ditransmisikan melalui jaringan. Nilai di luar rentang 0 - 32.767 menyebabkan pengecualian run-time RPC_X_ENUM_VALUE_OUT_OF_RANGE. Untuk mengirimkan objek sebagai entitas 32-bit, terapkan atribut [v1_enum] ke enum typedef.
typedef enum {Monday=2, Tuesday, Wednesday, Thursday, Friday} workdays;
typedef enum {Clemens=21, Palmer=22, Ryan=34} pitchers;