Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Проблема с enum


Автор: Ak47black 19.4.2009, 15:23
Здравствуйте.
Подскажите пожалуйста как правильно реализовать
Объявляю тип enum
Код

enum consoleOperations
{
    CLEAR,
    PAUSE
};

И дальше хочу использовать его в процедуре таким образом
Код

void ConsoleComm(enum consoleOperations type)
{
    switch (type)
    {
    case CLEAR:
        system(CLEARSCREEN);
    break;
    case PAUSE:
    break;
    }

}

Тут 
Код

case CLEAR:

получаю ошибку
Цитата

 E2451 Undefined symbol 'CLEAR'

Как исправить?

Автор: mes 19.4.2009, 16:05
разве что : void ConsoleComm(enum consoleOperations type) и то если вдруг компилятор старый.
показанные фрагменты должны компилиться без проблем.. 
покажите код целиком может ошибка где то в контексте использования..


Автор: susanin 19.4.2009, 16:08
Цитата(mes @  19.4.2009,  16:05 Найти цитируемый пост)
разве что : void ConsoleComm(enum consoleOperations type)

я попробовал..не помогло... я думаю может причина в том, что enum определяется в одной функции (main например) и поэтому в другой его не видно...если сделать глобальным этот тип, то все работает..

Автор: mes 19.4.2009, 16:12
Цитата(susanin @  19.4.2009,  15:08 Найти цитируемый пост)
я думаю может причина в том, что enum определяется в одной функции (main например) и поэтому в другой его не видно...если сделать глобальным этот тип, то все работает.. 

ну так с этого надо было и начинать...делайте в нужной области видимости и используйте в нескольких функциях.

Автор: susanin 19.4.2009, 16:13
Цитата(mes @  19.4.2009,  16:12 Найти цитируемый пост)
А в чем тогда проблема ?

так это не у меня надо спрашивать, а у товарища Ak47black  smile 

Автор: mes 19.4.2009, 16:18
Цитата(susanin @  19.4.2009,  15:13 Найти цитируемый пост)
так это не у меня надо спрашивать, а у товарища Ak47black 

оп сорри мне показаолось, что это тс отвечал.. 

Автор: Ak47black 19.4.2009, 16:33
Цитата

я думаю может причина в том, что enum определяется в одной функции (main например) и поэтому в другой его не видно...если сделать глобальным этот тип, то все работает..

Точно, с этим была проблемма.
Спасибо за помощь.
Я думал что я просто недостаточно знаю [c] и проблемма кроется в другом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)