2 * QList zusammenführen

Alles rund um die Programmierung mit Qt
Antworten
gentlesea
Beiträge: 27
Registriert: 27. März 2008 10:30

2 * QList zusammenführen

Beitrag von gentlesea »

Hallo Leute,

ich habe eine vermeintlich einfache Aufgabe, die sich als unlösbar für mich entpuppt. Ich muss die Elemente 2er QList<T> in eine QList<T> speichern.

Code: Alles auswählen

		QList<eigeneKlasse> existierendeListe = listeMitListen[0];
		QList<eigeneKlasse> neueListe;
		neueListe.append(eigeneKlasse());
		QList<eigeneKlasse> ergebnisListe = existierendeListe + neueListe;
Dazu habe ich mir eine neue Liste angelegt, die ich mit Objekten fülle. Nur beim Zusammenfügen der Listen gibt es stets einen Fehler. Ich habe versucht, die Listen mit + zu verbinden, mit += und sogar die Objekte einzeln zu kopieren. Ich habe bewußt nicht die .at()-Funktion genommen, da diese konstante Daten zurückliefert.

"HEAP[meine.exe]: HEAP: Free Heap block 8061b28 modified at 8061b60 after it was freed"

Hat jemand eine Idee?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Eine Liste mit Klassen? Nimm besser eine Liste mit Zeigern auf Klassen.
Wenn Du unbedingt eine Liste mit Klassen willst dann passe auf das die Klassen einen korrekten Copy-ctor hat - ist wohl bei Dir nicht der Fall.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gentlesea
Beiträge: 27
Registriert: 27. März 2008 10:30

Sind das nicht schon Zeiger?

Beitrag von gentlesea »

Ich dachte bisher, dass QList automatisch Zeiger verwendet. Diese Vermutung fußt auf der folgenden Beschreibung:

"Internally, QList<T> is represented as an array of pointers to items. (Exceptionally, if T is itself a pointer type or a basic type that is no larger than a pointer, or if T is one of Qt's shared classes, then QList<T> stores the items directly in the pointer array.)"

Sonst allerdings ein guter Ansatz, den ich weiter verfolgen werden. Vielen Dank.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Es ist ne QList<>, keine QPtrList<> - wie es intern aufgebaut ist tut da rein gar nichts zur Sache :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten