सी ++ संदर्भ के अनुसार, सेट :: डालने को जोड़ी वापस करने के लिए माना जाता है जहां इटरेटर या तो नए डाले गए तत्व को इंगित करता है, या मौजूदा तत्व यदि मौजूद होता है।std :: set :: insert() से इटरेटर वापस लौटा है?
लेकिन मैं इटरेटर को बताए समस्या आ रही है, इस सरल उदाहरण से पता चलता है:
int main() {
set<int> set;
*set.insert(5).first = 5;
return 0;
}
मैं जी ++ और बजना और न काम करता है की कोशिश की है।
set.cc:7:24: error: read-only variable is not assignable
*set.insert(5).first = 5;
~~~~~~~~~~~~~~~~~~~~^
मैं प्रकार हस्ताक्षर में प्रलेखन इंगित करता है कि इटरेटर एक स्थिरांक वस्तु के सम्मान करना चाहिए में कुछ भी, और कुछ भी नहीं इस या तो संकेत मिलता है नहीं मिल रहा। क्या कोई मुझे समझने में मदद कर सकता है कि यह क्यों काम नहीं करता है?
डुह। मुझे इसके बारे में सोचना चाहिए था। धन्यवाद। मेरे असली उदाहरण में, यह एक int नहीं था, यह एक और जटिल वस्तु थी जिसे मैं कुछ राज्य बदलना चाहता था। – drwowe