1 | enum EnumUChar { UChar = 1 } e1; |
---|---|
2 | enum EnumUShort { UShort = 0x101 } e2; |
3 | enum EnumUInt { UInt = 0x10001 } e3; |
4 | enum EnumSLong { SLong = 0x100000001 } e4; |
5 | enum EnumULong { ULong = 0xFFFFFFFFFFFFFFF0 } e5; |
6 | enum EnumNChar { NChar = -1 } e6; |
7 | enum EnumNShort { NShort = -0x101 } e7; |
8 | enum EnumNInt { NInt = -0x10001 } e8; |
9 | enum EnumNLong { NLong = -0x100000001 } e9; |
10 | |
11 | int main() { |
12 | auto UChar_promoted = +EnumUChar::UChar; |
13 | auto UShort_promoted = +EnumUShort::UShort; |
14 | auto UInt_promoted = +EnumUInt::UInt; |
15 | auto SLong_promoted = +EnumSLong::SLong; |
16 | auto ULong_promoted = +EnumULong::ULong; |
17 | auto NChar_promoted = +EnumNChar::NChar; |
18 | auto NShort_promoted = +EnumNShort::NShort; |
19 | auto NInt_promoted = +EnumNInt::NInt; |
20 | auto NLong_promoted = +EnumNLong::NLong; |
21 | return 0; // break here |
22 | } |
23 |