QTMap ist plötzlich leer?!

Alles rund um die Programmierung mit Qt
Antworten
benbar
Beiträge: 1
Registriert: 17. Juni 2018 09:41

QTMap ist plötzlich leer?!

Beitrag von benbar »

Sehr geehrte Forenmitglieder,
dies ist mein erster Beitrag.

Ich verwende seit 2 Tagen unter Linux Mint QT Creator und versuche ein Programm, welches ich in JAVA geschrieben habe, in QT Creator neu zu programmieren. Bis jetzt funktionierte alles wunderbar und nun stehe ich vor einem sehr merkwürdigen Problem. Vielleicht verwende ich QMap auch nicht richtig, da ich eher aus der JAVA-Ecke komme. Ich Bitte eure Hilfe.

Code: Alles auswählen

// 1) Ich hole aus einer QMap mir alle abgespeicherten Kurs-Objekte
    QList<D_Kurs> listK = mapK.values();

// 2) Ich iteriere über alle Kurse und jeder Kurs hat selbst eine QMap 'mapSchiene', in der ich zu Testzwecken ein Mapping hineintue und die Größe anzeigen lasse.
    foreach(D_Kurs dk,  listK) {
       dk.mapSchiene["la"] =  7;
        qDebug() << dk.getName() << " --A--> " << dk.mapSchiene.size();
    }

// 3) Ich iteriere einfach nochmal über alle Kurse, und lasse mir wieder die Größe des jeweiligen Mapping anzeigen
    foreach(D_Kurs dk,  listK) {
        qDebug() << dk.getName() << " --B--> " << dk.mapSchiene.size();
    }
    

So und die Ausgabe verstehe ich überhaupt nicht. Mein zweiten Durchlauf ist das QMap 'mapSchiene' der Kurs-Objekte jeweils leer. Das kann doch gar nicht sein?

Code: Alles auswählen

"PJ-BI-PJK1"  --A-->  1
"D-LK1"  --A-->  1
"D-LK2"  --A-->  1
... 
"PJ-BI-PJK1"  --B-->  0
"D-LK1"  --B-->  0
"D-LK2"  --B-->  0
...
Normalerweise ist 'mapSchiene' nicht public, hier aber zum Testen so gemacht.

Benjamin
Volker75
Beiträge: 59
Registriert: 8. April 2009 21:04

Re: QTMap ist plötzlich leer?!

Beitrag von Volker75 »

Hallo Benjamin :-)

So auf anhieb sehe ich es nicht. Nimmst du evtl. mit deinem getName() ein Element aus der Liste heraus statt es nur zu lesen?
Volker75
Beiträge: 59
Registriert: 8. April 2009 21:04

Re: QTMap ist plötzlich leer?!

Beitrag von Volker75 »

Ach so. Jetzt sehe ich es:

Bei 2) steht auch noch ein "dk.mapSchiene["la"] = 7;". Das fehlt bei 3).
D_Kurs dk ist doch eine locale Variable und dein D_Kurs dk in 2) ist ein anderes D_Kurs dk als in 3)
Volker75
Beiträge: 59
Registriert: 8. April 2009 21:04

Re: QTMap ist plötzlich leer?!

Beitrag von Volker75 »

Wenn du schon gerade neu anfängst:
Wie wäre es mit englischen Namen, damit es "internationaler" wird? (Hatte ich dir schon mal vorgeschlagen :-) ( In einem anderen Forum) )
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QTMap ist plötzlich leer?!

Beitrag von Christian81 »

Im offiziellen Qt-Forum wurde der Beitrag hinreichend erklärt: https://forum.qt.io/topic/91720/qmap-is ... it-wrong/7 - C++ Grundlagen :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten