Как получить доступ к функции класса в случае переключения - PullRequest
0 голосов
/ 26 декабря 2011

Я пытаюсь получить доступ к функции класса в регистр переключателя , но идентификатор не найден. Идет ошибка. Вот пример.

class menu {
    switch(a) {
        case 1:
            tej t;
            t.do_something
            break;
    }
};
class tej:public menu {
    public:
        void do_something() {
            body of function
        }
};

1 Ответ

0 голосов
/ 26 декабря 2011

В вашем коде не хватает нескольких вещей:

  • Вы забыли скобки после do_something?
  • Кроме того, вы где-то пропускаете функцию?Вы не можете поместить оператор switch непосредственно в класс.
  • Вы не можете объявить переменные непосредственно в операторе switch.Для этого вам понадобится дополнительный набор скобок.
class menu { 
public:
    void do_switch(int a) { // Note function
        switch(a) { 
        case 1:
            { // You need an extra set of braces if you intend to declare variables
                tej t; 
                t.do_something(); // <-- N.B. Parentheses! 
            }
            break;
        } 
    } // Note extra brace to close function
}; 

class tej:public menu { 
    public: 
        void do_something() { 
            // body of function 
        } 
}; 

Я настоятельно рекомендую вам взять хорошую вводную книгу по C ++ , так как выошибиться - это фундаментальная основа языка.Это менее расстраивает.

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