Статические классы - что я не так делаю?

Тема в разделе "Arduino & Shields", создана пользователем Мерзкий Гуру, 20 апр 2017.

  1. mcureenab

    mcureenab Гуру

    Так поинтереснее. объект obj обрабатывает сообщения 0, 1 или 2.

    Код (C++):
    class test {
    public:
      typedef void (test::*f_ptr)();
      void inline operator()(int i) { (this->*f[i])(); }
    private:
      static f_ptr f[];
      void fun1() { };
      void fun2() { };
      void fun3() { };
    };

    test::f_ptr test::f[] = { &test::fun1, &test::fun2, &test::fun3 };

    void setup() {
      test obj;
      obj(0);
      obj(2);
    }

    void loop() {}
     
     
  2. qwone

    qwone Гик

    Такая конфигурация подойдет для обработчика ошибок , или программного прерывания.
    class Cl_error ; представитель error. И ошибка error(0); error(1) и т д.