c ++ - enum to char * - 这个无可挑剔的问题是在提升之前提出来的

时间:2011-02-25 08:34:18

标签: c++ visual-c++ boost logic

我知道在SO中可以找到类似的重复问题。但是那些问题并没有讨论那么多关于提升的问题。我使用

获得了枚举类型

(boost::any).type().name()

Enum Example{ex1,ex2};

以上代码将生成

Example

但我想得到像“ex1”这样的确切短语。我现在正在使用VC ++。在那里,我需要检查每个枚举,以填充有关API调用状态的一些消息。我是非常新的提升,但现在我自己可以降低(灵活性)提升。所以必须有一个简单的方法,有能力做到这一点。

谢谢Prabhakaran(回答){}

2 个答案:

答案 0 :(得分:1)

Boost没有神奇的方法可以做到这一点。对于类型,它可以依赖于RTTI,这是一种基本的C ++特性。但是一旦编译了程序,枚举器名称就会丢失。

答案 1 :(得分:1)

这可能是你想要的吗?

  

枚举到C ++中的String和Vice Versa   http://www.codeproject.com/KB/cpp/StringizingCppEnums.aspx