winapi - C++ vector and struct problem win32 -
मेरे पास मेरी हेडर फाइल में परिभाषित संरचना है:
स्ट्रेट वीडियो {wchar_t * videoName ; std :: वेक्टर & LT; wchar_t * & gt; ऑडियो; std :: वेक्टर & LT; wchar_t * & gt; बाद के चरणों; }; Struct ret {std :: vector & lt; video * & gt; वीडियो; Wchar_t * errmessage; }; संरचना पैरामीटर {एचडब्ल्यूडीएंड फॉर्म; Wchar_t * cwd; Wchar_t * डिस्क; Ret * returnData; };
जब मैं वीडियो के एक वेक्टर में अपने वीडियो संरचना को जोड़ने का प्रयास करता हूं * मुझे 0xcdcdcdc1 (वीडियो का नाम @ 0xcdcdcdcd है, इससे पहले कि मैं इसे आवंटित करता हूं) पढ़ते हुए उल्लंघन का उल्लंघन मिलता है।
< Code> // कोड का निकालने के लिए जहां समस्या वीडियो वी है; V.videoName = (wchar_t *) मॉलोक ((wcslen (लाइन) +1) * आकारफ़ोल्डर (wchar_t)); wcscpy (v.videoName, लाइन); p- & gt; returnData- & gt; videos.push_back (& amp; V); // त्रुटि यहाँ
मुझे लगता होगा कि या तो p
या p- & gt; वापसी डेटा
एक अनिर्धारित / अमान्य संकेतक है।
इसके अलावा, यह आपके दुर्घटना का कारण नहीं है, लेकिन यह एक बार जब आप वर्तमान समस्या को ठीक करेंगे: पॉइंटर को स्थानीय चर में लौटने के बारे में सावधान रहें एक बार आपका फ़ंक्शन गुंजाइश के बाहर चला जाता है, तो स्थानीय वेक्टर नष्ट हो जाएगा और और v
एक अमान्य सूचक होगा यदि आप चाहते हैं कि आपका सदिश वर्तमान फ़ंक्शन के दायरे से परे मौजूद हो, तो आपको इसे ढेर पर आवंटित करना होगा:
vector * v = new video (); ... p- & gt; वापसीडेटा- & gt; वीडियो.push_back (v);
Comments
Post a Comment