[solved] QMapIterator deklaration

Alles rund um die Programmierung mit Qt
Antworten
Abayo
Beiträge: 25
Registriert: 18. Mai 2013 12:25

[solved] QMapIterator deklaration

Beitrag 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!
Zuletzt geändert von Abayo am 30. September 2013 13:11, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QMapIterator deklaration

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Abayo
Beiträge: 25
Registriert: 18. Mai 2013 12:25

Re: QMapIterator deklaration

Beitrag von Abayo »

Joa, das macht Sinn :)
Das mit dem sich ändernden Container hab ich nicht mehr bedacht...
Antworten