27. april 2004 - 17:05
Der er
6 kommentarer og 1 løsning
Udtræk af objekter fra map
Hvordan trækker jeg et objekt ud af en map? Jeg får en fejlmeddelselse om at den ikke kan konvetere fra map-objekt til mit eget objekt. map<int, Objekttype> navn; Objekttype t = navn[0].Objekttype; Nogen som har en løsning?
Annonceindlæg fra NetApp
27. april 2004 - 17:15
#2
Hm. Følgende virker fint hos mig: #include <iostream> #include <map> #include <string> using namespace std; struct my { string s; }; int main() { map<int,struct my> m; struct my test; test.s = "abc"; pair<int,struct my> p(123,test); m.insert(p); string s = m[123].s; cout << s << endl; return 0; }
28. april 2004 - 00:19
#3
Det gør det også hos mig, men når jeg fx har et object af min egen klasse i mit map, vil den ikke konverterer den. I min struct står det således int x; map<MyObject, object_info> myobjects; Hvor object_info er min Struct for klassen MyObject Gør jeg det forkert, eller er der en anden måde man skal gøre det på?
28. april 2004 - 18:14
#5
Ja for en simpel struct->class konvertering: #include <iostream> #include <map> #include <string> using namespace std; class my { public: string s; }; int main() { map<int,my> m; my test; test.s = "abc"; pair<int,my> p(123,test); m.insert(p); string s = m[123].s; cout << s << endl; return 0; } virker (naturligvis også).