我有一些枚举类
enum class Foo { A=1, B=18 , Z=42 };
我想检查一些整数是否可以转换为 Foo
。
这样做的理想方法是什么?这是用于运行时检查(整数在编译时未知)
显然我可以用困难的方式来做到这一点(写一个函数 bool CheckEnum(Foo);
带有一个大屁股的开关,除了默认情况外,所有情况都返回 true),但我希望有一个更优雅的机制,避免了太多的写作。 MPL 或 Boost.Preprocessor
将是一个完全可以接受的解决方案,但遗憾的是我对其中之一知之甚少
最佳答案
这个问题的解决方案是放弃枚举,并将其替换为一些使用 XMACROs. 创建的数组
关于c++ - 验证整数是某个枚举类项 (C++11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221745/