1// Matching 2enum E1 { 3 E1Enumerator1, 4 E1Enumerator2 = 3, 5 E1Enumerator3 6} x1; 7 8// Value mismatch 9enum E2 { 10 E2Enumerator1, 11 E2Enumerator2 = 4, 12 E2Enumerator3 13} x2; 14 15// Name mismatch 16enum E3 { 17 E3Enumerator1, 18 E3Enumerator = 3, 19 E3Enumerator3 20} x3; 21 22// Missing enumerator 23enum E4 { 24 E4Enumerator1, 25 E4Enumerator2 26} x4; 27 28// Extra enumerator 29enum E5 { 30 E5Enumerator1, 31 E5Enumerator2, 32 E5Enumerator3, 33 E5Enumerator4 34} x5; 35 36// Matching, with typedef 37typedef enum { 38 E6Enumerator1, 39 E6Enumerator2 40} E6; 41 42E6 x6; 43