Probleme bei der Rückgabe einer Map
-
Hallo,
habe eine Klasse, die Daten in einer Map speichert
class MyClass { public: ...... std::map<AnsiString, AnsiString> getSoftware(); ...... private: std::map<AnsiString, Software> software; };hier die Methode getSoftawre
std::map<AnsiString, AnsiString> MyClass::getSoftware() { return software; };soblad ich versuche Software zurückzugeben bekomme ich eine EAccesViolation.
Die Map wird vorher von einern anderen Methode gefüllt.LG
-
Und das lässt sich kompilieren? Denn einmal heißt es
map<AnsiString, AnsiString>und das andere malmap<AnsiString, Software>.
-
sorry mein fehler.
Es soll beides mal
Software, Software sein
-
-.-
AnsiString, Software
muss es sein.
-
Also warum auch immer es geht jetzt.
Allerdings bekomme ich jetzt bei folgender Anweisung einen Fehler.std::map<AnsiString, Software>::iterator iter;
-
Welchen Fehler und in welchem Zusammenhang.
-
Dein momentaner relevanter Code mit den Funktionsdeklarationen wäre auch sinnvoll. Ich bin nämlich so langsam nicht mehr überzeugt, dass da wirklich überall
std::map<AnsiString, Software>steht.
Sowas könnte man übrigens mit einem
typedefeindeutig und leicht änderbar machen.