| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как в описание класса встроить enum??? |
| Автор: AlexNor 5.9.2004, 16:09 | ||
Проблема вот в чём. Надо что бы в описании класса были enum. Что-то типа такого:
но, как сами понимаете - при компиляции выдаётся ошибка: "error C2365: 'a' : redefinition; previous definition was a 'enumerator'" ....... и т.д. Namespace использовать внутри классов нельзя И что делать? |
| Автор: bel_nikita 5.9.2004, 16:41 | ||
| AlexNor enum - тоже что define. Поэтому и ругается. Если сделать так:
|
| Автор: srd 5.9.2004, 16:46 | ||||
Загадочный код
Тогда к элементам перечисления можно обращаться как A1::a, A2::a, A1::b, A2::b и т.д. |
| Автор: Darked 5.9.2004, 17:00 |
| А почему бы не так??? class A { A() {}; ~A() {}; public: enum {a,b,c,d} enum1,enum2; } |
| Автор: AlexNor 5.9.2004, 17:08 | ||
| bel_nikita не катит srd спасибо. ненаглядно немного получается что при описании параметра в функции f -нужно указывать не токо имя структуры но и имя перечисления...
|
| Автор: srd 5.9.2004, 17:08 |
| Darked Я так понял, что требуется иметь константы с совпадающими именами, но принадлежащие разным перечислениям. Поэтому такой вариант проблему не решает. Он только определяет безымянное перечисление и две переменные с типом этого перечисления (кстати, зачем они нужны?) |
| Автор: AlexNor 5.9.2004, 17:09 |
| Darked имена могут быть и одинаковые - а вот значения разные... |
| Автор: Darked 5.9.2004, 22:14 |
| Спасибо все за пояснения, я просто в задачу не врубился. |