4 Stimmen

Aufbau und Ausführung eines Stapels ungültiger Funktionen

Ich versuche, einen Vektor (oder Stapel) von Funktionen zu speichern. Die Idee ist, dass ich eine Reihe von Funktionen habe, die Widgets zum Hauptfenster hinzufügen und entfernen. Ich verwende einen Timer-Alarm und immer, wenn der Alarm aufgerufen wird, rufe ich die Funktion an der Spitze des Stapels von Funktionen.

Meine Funktionen werden also immer vom Typ void sein. Mein Problem/Missverständnis ist, wie man einen stl::Stapel von void-Funktionen delcare & wie ich diese Funktion ausführen?

class InstructionScreen
{

  std::stack <void*> instructionSteps;  // is this how I declare a stack of functions

  void runTimerEvent()
  {
      if ( !instructionSteps.empty() ) 
      {
          // call the function at the top of the stack
          // how do I call the function?
          (*instructionSteps.top()); // is that how?
          instructionSteps.pop();
      }
  }

  void step1()
  {
     // here I create some widgets & add them to the main window
  }

  void step2()
  {
     // delete widgets from window
     // create some different widgets & add them to the main window
  }

  void buildStack()
  {
     instructionSteps.push( (&step1()) ); // is this correct?
     instructionSteps.push( (&step2()) );  
  }

};

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X