QT: QHash of QHash

Rakor

Administrator
Teammitglied
Hallo zusammen!

Ich baue derzeit ein Programm in QT zusammen. Da es sich um einige verschachtelte Daten handelt wollte ich diese gerne in QHashes ablegen. Und da die Daten nunmal mehrschichtig sind landet das Ganze nach meinem Wunsch am Ende in einem QHash von QHash.

Kurz gesagt backe ich mir diese Struktur (soweit auch ohne Probleme):
Code:
QHash<QString, QHash<QString, int> >    meineListe;

Nun mal nur zum Test ein einfaches Setzen im inneren QHash würde ich machen mittels(als Beispiel):
Code:
meineListe.value("test1").insert("test2", 1);

Allerdings wirft mir genau diese Zeile den folgenden Fehler:

error: passing 'const QHash<QString, int>' as 'this' argument of 'QHash<K, V>::iterator QHash<K, V>::insert(const Key&, const T&) [with Key = QString, T = int]' discards qualifiers

Dass der Code in dieser stark ausgekürzten Version keinen Sinn macht ist mir klar. Ich wollte es nur auf das Wesentliche beschränken.

Was mache ich falsch, oder ist eine Verschachtelung so gar nicht möglich? Oder überseh ich einfach was?!

Danke euch!
 
value() scheint dir nur ein const T zurueckzugeben, da kannst du dann wohl nur const-Methoden drauf aufrufen. operator[] gibt dir dagegen eine Referenz auf das entsprechende Objekt zurueck wo du theoretisch insert() drauf aufrufen koennen muesstest
(siehe http://qt-project.org/doc/qt-4.8/qhash.html#operator-5b-5d )

So in der Art:
Code:
meineListe["test1"].insert("test2", 1);

Nehme ich mal an, ich hab selbst aber noch nie was mit Qt gemacht, koennte also auch falsch sein.. :)
 
Grrr.... Danke... :)

Ein erster schmutziger Test sagt, dass es das wohl war...

Und da sucht man sich die Finger wund.
 
Zurück
Oben