c++ - std::swap returns 0xBAADF00D -
मैं दो std :: सूची & lt; डोंटकेयर *> :: आईआरएआर के तहत दृश्य 2005।
Iter it1 = ..., it2 = ...; // it1 और it2 ठीक हैं, अंत नहीं () या जैसे (...) {std :: swap (it1, it2); }
स्वैप काम करता है, लेकिन जब मैं () गुंजाइश छोड़ देता हूं, तो 1 अंक 0xbaadfood तक चलता है। यह 2 ठीक है। मैंने swap_iter और हाथ से बने स्वैप सहित कई रूपों की कोशिश की।
किसी भी मदद की सराहना की:)
संपादित करें
ठीक है, इसलिए शर्म की बात है समय।
स्वैप किए गए it1 एक अगर स्थानीय दायरे में होता है।
F ** राजा कटने चिपकाने अपना समय बर्बाद करने के लिए क्षमा करें: /
क्या आप अपने कोड < ? आपके
अगर
की जांच हो सकती है, लेकिन स्वैप वास्तव में इटरेटर (शायद मिटाना) को अवैध ठहराए जाने के बाद हो सकता है।
Comments
Post a Comment