c ++ - enum to char * - Этот безответный вопрос был задан до момента повышения - PullRequest
0 голосов
/ 25 февраля 2011

Я знал, что похожие дубликаты вопросов доступны в SO. Но эти вопросы не обсуждали так много о повышении. Я получил тип enum, используя

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

Enum Example{ex1,ex2};

Приведенный выше код выдаст

Example

Но я хочу получить такую ​​же фразу, как "ex1". Я использую VC ++ сейчас. Там мне нужно проверить каждое перечисление, чтобы заполнить какое-то сообщение о статусе вызова API. Я очень новичок в бусте, но теперь сам могу упасть (согнуть) способность буста. Так что должен быть простой метод, способный сделать это.

Спасибо, Прабхакаран (ответы) {}

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

Может ли это быть тем, что вы ищете?

Перечисление в строку и наоборот в C ++ http://www.codeproject.com/KB/cpp/StringizingCppEnums.aspx

1 голос
/ 25 февраля 2011

Повышение не имеет магических способов сделать это.Для типов он может полагаться на RTTI, базовую функцию C ++.Но имена перечислителей теряются при компиляции программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...