看不懂的C++: enum class

 1 #include <iostream>
 2 
 3 int main()
 4 {
 5     enum class Color : unsigned char { Red, Green };
 6     enum class Alert : bool { Red, Green };
 7     
 8     //Color c;  未初始化
 9     //Color c{65};  //明显的枚举范围外,但是在unsigned char范围内
10     //Color c{ Alter::Red} ; 类型不匹配
11     
12     using color_rep_type = std::underlying_type<Color>::type;
13     std::cout << "c=" << static_cast<color_rep_type>(c) << std::endl;
14     
15     enum class Test: int {  };  //没有枚举列表的枚举类
16 
17 }

第9行,虽然不合逻辑,但是也能编译通过。
第15行,没有列表项,要枚举干嘛?

 

posted @ 2018-04-05 13:00  thomas76  阅读(195)  评论(0编辑  收藏  举报