Iterieren in einer Liste von Klassen-Pointer



  • Hi,

    könnt ihr mir sagen warum folgender Code nicht funtioniert?!
    (Ich glaube es liegt daran dass die list nicht nur meine Klasse sondern auch noch dernen Pointer verwendet.)

    #include <cstdlib>
    #include <list>
    
    class MyClass {
      public:
        MyClass() {}
        ~MyClass() {}
        void Func() {}
    };
    
    int main(void) {
    
      MyClass* tmpObject = new MyClass();
      std::list<MyClass*> MyClassObjects;
      MyClassObjects.push_back(tmpObject);
    
      for (std::list<MyClass*>::iterator it = MyClassObjects.begin(); it != MyClassObjects.end(); ++it) {
        it->Func();
      }
    
      return 0;
    }
    


  • Okay, ich glaub ich hab die Lösung schon gefunden

    (**it).Func();



  • Hallo

    Oder auch

    (*it)->Func();
    

    bis bald
    akari


Anmelden zum Antworten