Код: Выделить всё
enum Fruit {
Apple,
Banana,
Pear,
Tomato
};
Пока Я делал это. Предполагая, что перечисление находится в Fruit.h:
Код: Выделить всё
// Fruit.cpp
const char *Fruits[] = {
"Apple",
"Banana",
"Pear",
"Tomato",
NULL
};
Есть ли простой способ сделать то, что я хочу, когда все находится в одном файле? Взломы препроцессора, инопланетная магия, что угодно..
PS: Это, в отличие от отражения «для всего», было бы действительно тривиально реализовать в компиляторах. Видя, насколько это распространенная проблема (по крайней мере для меня), я действительно не могу поверить, что нет отражающего перечисления Fruit.. Даже в C++0x.
PS2: Я использую C++, но я также пометил этот вопрос как C, потому что у C та же проблема. Если ваше решение включает в себя только элементы C++, меня это устраивает.
Подробнее здесь: https://stackoverflow.com/questions/180 ... tive-enums