QT: iterator
-
Hallo ihr lieben,
mein heutiges Problem besteht in der Verwendung der <QLinkedList>
ich möchte eine Liste von Klassen erzeugen QLinkedList<groups>.
Das klappt alles ganz gut. Nur habe ich jetzt ein Problem mit dem
Auslesen und kann den Fehler nicht finden. Meine Klasse hat eine
Methode namens getname(). Diese würde ich gerne für jedes Element
der Liste einzeln aufrufen.#include <QtGui/QApplication> #include "mainwindow.h" #include "groups.h" #include <QLinkedList> #include <iostream> using namespace std; int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); QLinkedList<groups> myList; QLinkedList<groups>::iterator iter; groups Person1("Frank"), Person2("Martina"), Person3("Melanie"); myList.append(Person1); myList.append(Person2); myList.append(Person3); for(iter = myList.begin(); iter!= myList.end(); ++iter) cout<<iter.operator->().getname()<<endl; //Hier ist der Wurm drin. return a.exec(); }
Als Fehlermeldung erhalte ich:
request for member 'getname' in 'iter.QLinkedList<T>::iterator::operator->[with T = groups]()', which is of non-class type 'groups*'
Kann mir vll jemd helfen?Viele lieben Grüße.
Melli
-
Wie wäre es mit iter->getname() ?
-
Danke für deine Antwort.
Das habe ich zuerst versucht, funktioniert aber nicht.no match fpr 'operator<<'in' std::cout<<iter.QLinkedList<T>::iterator::operator->[with T = groups]()->groups::getname()'
-
Welchen Rückgabetyp hat getname?
Evtl. #include <string> vergessen?
Zeig nochmal die kpl. Zeile, bei der dieser Fehler kommt, bitte.