How should C bitflag enumerations be translated into C++?

后端 未结 3 800
被撕碎了的回忆
被撕碎了的回忆 2021-01-14 14:58

C++ is mostly a superset of C, but not always. In particular, while enumeration values in both C and C++ implicitly convert into int, the reverse isn\'t true: only in C do i

3条回答
  •  孤独总比滥情好
    2021-01-14 15:27

    It sounds like an ideal application for a cast - it's up to you to tell the compiler that yes, you DO mean to instantiate a Foo with a random integer.

    Of course, technically speaking, Foo_First | Foo_Second isn't a valid value for a Foo.

提交回复
热议问题