c++ - How to return a std::map item -



c++ - How to return a std::map item -

i have issue on returning item std::map residing within class. trying create simple function like

explorerobjectmapitem* myclass::getfirst() { minternalmapiterator = mobserverlookup.begin(); explorerobjectmapitem* item = &*minternalmapiterator; homecoming item; }

where next typedefs used

typedef map< subject*, shared_ptr<explorerobject> > explorerobjectmap; typedef pair<subject*, shared_ptr<explorerobject> > explorerobjectmapitem; typedef explorerobjectmap::iterator explorerobjectiter;

and map , iterator class members:

explorerobjectmap mobserverlookup; explorerobjectiter minternalmapiterator;

the above code getfirst() function gives compile error saying

e2034 cannot convert 'pair<subject * const,boost::shared_ptr<explorerobject> > *' 'explorerobjectmapitem *'

not sure going on here. help appreciated.

a std::map<k,v> not contain std::pair<k,v> objects. contains std::pair<const k, v> objects. missing const throws off conversion.

you prepare either

typedef pair<subject* const, shared_ptr<explorerobject> > explorerobjectmapitem;

or

typedef explorerobjectmap::value_type explorerobjectmapitem;

c++ dictionary std

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -