Es kracht in der Schleife mit folgender Fehlermeldung:
qt-4.5.2/include/QtCore/qmap.h:792: Fehler: no match für »operator==« in »i.QMap<Key, T>::const_iterator::value [with Key = QPair<unsigned char, unsigned char>, T = State]() == avalue«
hm, mein Compiler zeigt keine Fehler an.
MS VC 2008. Der Code sieht auch grundsätzlich ordentlich aus.
Schau mal in die Doku von QPair und entdecke das es einen == Operator gibt. Die QString Klasse hat so einen Operator. Hat Deine Klasse ihn auch?
Wenn nicht, mußt Du ihn wohl schreiben.
Das ist echt seltsam. Die Tatsache, dass bei mir SomeObject nicht von QObject ableitet ist ja eigentlich auch nicht weiter tragisch, oder? Mir sieht es jetzt so aus, als ob QMap dieser Operator für QPair fehlt. Denn er bietet mir auch diverse andere an. Ist übrigens gcc4.3.3 unter Ubuntu.
Habe es jetzt erstmal mit Iteratoren gelöst. Wenn ich einen Iterator einsetze und dann i.key() aufrufe, dann führt es zu keinem Problem.