मुझे यकीन नहीं है कि यह क्या करना है - कृपया मुझे बताएं कि नीचे दिए गए कोड में क्या गलत है। मैंने अपने कोड को सरल शब्दों में कम करने के लिए संशोधित किया। MyNode ऑब्जेक्ट्स के समूह के साथ एक std :: वेक्टर है। - पहला कदम इन नोड्स (डेटा m_data) में से एक के डेटा तत्वों में से एक के लिए एक निरंतर संदर्भ प्राप्त करने के लिए है कि नीचे उदाहरण में, वहाँ केवल एक नोड के रूप में नीचे देखा है से पहले 2 नोड डाला जाता है:सी ++ संदर्भ बदलता है जब push_back new element std :: vector
const cv::Data& currData = m_nodesVector[currIndex].GetData();
MyNode node(...);
m_nodesVector.push_back(node);
बिल्कुल वेक्टर :: push_back कॉल पर, currData के मान में परिवर्तन !! मुझे यह बिलकुल समझ में नहीं आया। वेक्टर में एक नया नोड डालने से पहले नोड के डेटा के मूल्य संदर्भ में परिवर्तन कैसे हो सकता है !! ध्यान दें कि मूल्य दूसरे नोड को "बनाने" पर नहीं बदलता है - लेकिन std :: vector में सम्मिलन ऑपरेशन पर। मेरा मतलब है, मुझे लगता है कि std :: वेक्टर कुछ स्मृति को दोबारा बदल सकता है, लेकिन उस संदर्भ को सही नहीं बदलना चाहिए ??
कंपाइलर = वीएस 2012
धन्यवाद दोस्तों। बहुत सराहना की।