c++ - Why vector<int> variable returned by const ref doesn't work -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 20 उत्तरों
यह मेरा कार्य है: < / P> <पूर्व> कॉन्स्ट वेक्टर & lt; int & gt; & amp; GetVInt () {वेक्टर & lt; int & gt; विंट; (...) रिटर्न vint; }
और,
वेक्टर & lt; int & gt; X = getVInt ();
रिटर्न:
'std :: out_of_range' का उदाहरण फेंकने के बाद कहा जाता है
क्या (): वेक्टर :: _ M_range_check
और
const वेक्टर & lt; int & gt; और amp; X = getVInt ();
कुछ भी नहीं लौटाता है (एक वेक्टर जिसमें 0 से अलग आकार होता है, लेकिन जब मैं एक्स (आई) का उपयोग करता हूं तब कोई भी वैक्टर नहीं होता है।)
मैंने फ़ोरम में देखा Temprorary और const रेफरी के बारे में जवाब मुझे समझने में मदद नहीं करता है।
धन्यवाद।
आप एक स्थानीय ऑब्जेक्ट के संदर्भ लौट रहे हैं यह अपरिभाषित व्यवहार है इसके बजाय प्रतिलिपि से लौटें, प्रतिलिपि को धन्यवाद दिया जाएगा।
<पूर्व> std :: vector & lt; int & gt; GetVInt () {std :: vector & lt; int & gt; विंट; // ... वापसी vint; }
Comments
Post a Comment