<operator missing when iterating through c++ map -
निम्न कोड संकलन नहीं करना चाहता। शामिल त्रुटि संदेश देखें।
कोड:
#include & lt; नक्शा & gt; #include & lt; vector & gt; # शामिल करें & lt; iostream & gt; कक्षा नक्शाहोल्डर {सार्वजनिक: std :: map & lt; std :: vector & lt; std :: स्ट्रिंग & gt ;, MapHolder & gt; m_map; Void walk_through_map () {std :: map & lt; std :: vector & lt; std :: स्ट्रिंग & gt;, MapHolder & gt; :: iterator; के लिए (यह = m_map.begin (); यह & lt; m_map.end (); ++ यह) {it- & gt; दूसरा.प्रिंट (); }} शून्य प्रिंट () {std :: cout & lt; & lt; "हे" & lt; & lt; std :: endl; }}; Int main (int argc, char * argv []) {मानचित्रहोल्डर m; m.walk_through_map (); }
त्रुटि:
$ g ++ test.cc- ओ टेस्ट टेस्ट। सीसी: सदस्य फ़ंक्शन में 'शून्य मैपहोल्डर :: वॉल्ट_थ्रू_मैप ()': परीक्षण .cc: 12: त्रुटि: 'ऑपरेटर और लेफ्टिनेंट;' के लिए कोई भी मैच नहीं में 'यह & lt; ((MapHolder *) this) - & gt; MapHolder :: m_map.std :: map & lt; _Key, _Tp, _Compare, _Alloc & gt; :: अंत [with_key = std :: vector & lt; std :: basic_string & lt; char, std :: Char_traits & lt; char & gt ;, std :: ऑलोकेटर & lt; char & gt; & Gt ;, std :: ऑलोकेटर & lt; std :: basic_string & lt; char, std :: char_traits & lt; char & gt ;, std :: आबंटक & lt; char & gt; & Gt; & Gt; & Gt ;, _Tp = मानचित्रहोल्डर, _Compare = std :: कम
मैंने इस प्रकार के नक्शे और पुनरावृत्त प्रक्रिया को कई बार पहले प्रयोग किया था यहां समस्या क्या है? यह कैसे हल किया जा सकता है।
(कोड अर्थहीन दिखता है, लेकिन यह एक कम नमूना है जिसे अभी भी काम करना है)
उपयोग करें! = के बजाय & lt; इटरेटर तुलना में।
Comments
Post a Comment