Здравствуйте, Аноним, Вы писали:
А>Здравствуйте!
А>Если есть простенький enum. И есть строка. Как переменной типа enum присвоить значение соответствующее строке?
А>enum A
А>{One=0x1,Two=0x10}
А>MyString="One";
А>A x=MyString; //Как это сделать?
А>Не используюя enum из области System? используется стандартный сишный энум.
В рамках текущих С и С++ невозможно.
Можно сделать таблицу соответствий — enum — string(const char*).
Пример как сделать :
enum some_enum { e1, e2, e3, e4, e5 };
struct enum_str
{
some_enum e;
const char* str;
};
struct enum_str mapenumstr[]=
{
{e1,"e1"},
{e2,"e2"},
//...
{(some_enum)0,0}
};
Вот небольшая наработка на эту тему :
http://rsdn.ru/Forum/Message.aspx?mid=668565&only=1Автор: _nn_
Дата: 06.06.04