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

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -