Monday, 15 September 2014

c++ - Why can't I erase all element of vector like this? -


मेरा दुर्घटनाग्रस्त स्रोत कोड यहां था:

  #include & lt; vector & gt; नेमस्पेस एसटीडी का उपयोग करना; वेक्टर & lt; int & gt; :: इटरेटर इटर, टेम्पक; Int main () {वेक्टर & lt; int & gt; Cont (3, 5); के लिए (iter = cont.begin (); iter! = Cont.end ();) {tempIt = iter; ++ आईटीईआर; cont.erase (tempIt); } वापसी 0; }  

अंतिम तत्व को मिटाते समय यह हमेशा विफल रहता है।

से:

बिंदु के बाद या उसके बाद के संदर्भ में हेरेटर और संदर्भ

इस प्रकार विलोपन ने आपके iter iterator को अमान्य किया है, और उसके बाद आपके अपरिभाषित व्यवहार हैं।

< / div>

No comments:

Post a Comment