Seite 1 von 1

QTMap ist plötzlich leer?!

Verfasst: 17. Juni 2018 09:52
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

Re: QTMap ist plötzlich leer?!

Verfasst: 17. Juni 2018 12:59
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?

Re: QTMap ist plötzlich leer?!

Verfasst: 17. Juni 2018 13:02
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)

Re: QTMap ist plötzlich leer?!

Verfasst: 17. Juni 2018 13:05
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) )

Re: QTMap ist plötzlich leer?!

Verfasst: 17. Juni 2018 13:32
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 :)