30
有没有简单的方法将C ++枚举转换为字符串?
假设我们有一些命名的枚举: enum MyEnum { FOO, BAR = 0x50 }; 我用谷歌搜索的是一种脚本(任何语言),该脚本扫描项目中的所有标头并生成每个枚举具有一个功能的标头。 char* enum_to_string(MyEnum t); 以及类似这样的实现: char* enum_to_string(MyEnum t){ switch(t){ case FOO: return "FOO"; case BAR: return "BAR"; default: return "INVALID ENUM"; } } 陷阱实际上是带有类型定义的枚举和未命名的C风格的枚举。有人知道吗? 编辑:解决方案不应修改我的源,除了生成的函数。枚举都在API中,因此使用到目前为止提出的解决方案只是一种选择。