ich möchte mir div. Klasseninstanzen einer Klasse namens cKatalogAttribut merken. dazu habe ich der Klasse die darauf zugreifen soll, eine QMap hinzugefügt:
Code: Alles auswählen
private:
QMap<QString,cKatalogAttribut> alleEigenschaften;
Code: Alles auswählen
cKatalogAttribut attr(shortText,longText,einheitID,sTyp);
alleEigenschaften.insert(shortText,attr);
Code: Alles auswählen
leLongText->setText(alleEigenschaften.value(text).getLongText());
Ich habe ausdrücklich die Instanzen selbst und nicht Pointer darauf gespeichert, da ich sonst die Instanz ja noch woanders speichern müsste.
obiger Code führt aber zur Fehlermeldung:
wie macht man sowas sonst?Makefile.Debug:311: warning: overriding commands for target `build\.rcc\qrc_WERTer.cpp'
Makefile.Debug:262: warning: ignoring old commands for target `build\.rcc\qrc_WERTer.cpp'
ui\ConfigWindow.cpp:117: error: passing `const cKatalogAttribut' as `this' argument of `QString cKatalogAttribut::getLongText()' discards qualifiers
ui\ConfigWindow.cpp:118: error: passing `const cKatalogAttribut' as `this' argument of `int cKatalogAttribut::getEinheitID()' discards qualifiers
ui\ConfigWindow.cpp:119: error: passing `const cKatalogAttribut' as `this' argument of `int cKatalogAttribut::getTypeID()' discards qualifiers
ui\ConfigWindow.cpp:117: instantiated from here
C:\Qt\4.1.3\include\QtCore\..\..\src\corelib\tools\qmap.h:396: error: no matching function for call to `cKatalogAttribut::cKatalogAttribut()'
src\katalogattribut.h:7: note: candidates are: cKatalogAttribut::cKatalogAttribut(const cKatalogAttribut&)
src\katalogattribut.h:9: note: cKatalogAttribut::cKatalogAttribut(QString, QString, int, QString)