Seite 1 von 1

[solved] QMapIterator deklaration

Verfasst: 19. September 2013 16:25
von Abayo
Hiho,

folgendes Problem:
ICh wollte einen Iterator auf eine QMap erstellen, welcher von allen Funktionen der Klasse verwendet werden kann.
Dazu wollte ich den Iterator im Header eintragen und dann im Konstruktor initialisieren.
Aber irgendwie stelle ich mich zu blöd dazu an.. momentan stürzt das Programm ständig ab..

hier der Code:
.h-datei

Code: Alles auswählen

QMapIterator<QString, Contact*> *it;
.cpp-datei

Code: Alles auswählen

it = new QMapIterator<QString, Contact*>(ContactList);
Ich raff gerade ned wie ich das richtig machen sollte.. wenn mir das kurz einer posten könnte wäre ich sehr dankbar!

Re: QMapIterator deklaration

Verfasst: 19. September 2013 18:12
von Christian81
Der Ansatz ist nicht wirklich sinnvoll und kann auch nicht gehen. Ein iterator quasi ist ein Zeiger auf den einen Bereich in einem Container. Sobald sich der Container ändert, passt dein Iterator nicht mehr. Dazu reicht ein einfaches insert oder delete.
Und mit new() erzeugt man schon gar keine iteratoren. Iteratoren sind nur dazu gedacht, über einen container zu iterieren, mehr nicht.

Re: QMapIterator deklaration

Verfasst: 19. September 2013 18:21
von Abayo
Joa, das macht Sinn :)
Das mit dem sich ändernden Container hab ich nicht mehr bedacht...