C ++ Funktionszeiger auf Klassenmethode setzen

Ich habe Probleme, einen Funktionszeiger auf eine Klassenmethode zu setzen. Ich habe einen Funktionszeiger auf eine Nicht-Klassen-Methode erstellt, und das funktioniert einwandfrei.

int foo(){
    return 5;
}

 int main()
{
    int (*pointer)() = foo;

    std::cout << pointer();

    return 0;
}

Ich habe versucht, dies anzuwenden, damit eine Instanzvariable in einer Klasse ein Funktionszeiger ist.

Dies ist die Header-Datei. Es deklariert die private Methode Print, auf die die variable Methode zeigt.

class Game
{

public:

    Game();

private:

    void Print();

    void (method)( void );

};

Der Game-Konstruktor versucht, die Zeigermethode der Adresse der Print-Methode zuzuweisen. Beim Kompilieren wird in dieser Zeile ein Fehler mit der Meldung "Fehler: Verweis auf nicht statische Elementfunktion muss aufgerufen werden" angezeigt. Ich weiß nicht was das bedeutet. Wie setzt man das richtig um?

Game::Game( void )
{

    method = &Game::Print;

}

void Game::Print(){
    std::cout << "PRINT";
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage