为了账号安全,请及时绑定邮箱和手机立即绑定

如果你为枚举类static_cast无效值会发生什么?

如果你为枚举类static_cast无效值会发生什么?

C++
慕的地10843 2019-08-08 10:25:30
如果你为枚举类static_cast无效值会发生什么?考虑一下这个C ++ 11代码:enum class Color : char { red = 0x1, yellow = 0x2 }// ...char *data = ReadFile();Color color = static_cast<Color>(data[0]);假设数据[0]实际上是100.根据标准设置的颜色是什么?特别是如果我以后做的话switch (color) {     // ... red and yellow cases omitted     default:         // handle error         break;}标准是否保证会触发默认值?如果没有,在这里检查错误的正确,最有效,最优雅的方法是什么?编辑:作为奖励,该标准是否对此有任何保证,但是用简单的枚举?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 1219 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信