Utilisation invalide de non-fonction membre statique en c++

Je suis ce exemple. Mais quand je compile, il renvoie une erreur:

Invalide l'utilisation de la non-fonction membre statique

à la ligne

void(Machine:: *ptrs[])() = 
  {
    Machine::off, Machine::on
  };

J'ai essayé d'ajouter static à void on(); à la classe

class Machine
{
  class State *current;
  public:
    Machine();
    void setCurrent(State *s)
    {
        current = s;
    }
    static void on(); //I add static here ...
    static void off(); //and here
};

Mais il se plaint de ce que

Utilisation invalide de membre de la Machine::courant en fonction membre statique

Pouvez-vous m'aider à résoudre ce problème?

OriginalL'auteur GAVD | 2016-12-26