क्या कोई मेरी मदद कर सकता है, आवंटित स्मृति को मुक्त करने का प्रयास करते समय मुझे एक त्रुटि संदेश क्यों मिल रहा है: ढेर भ्रष्टाचार का पता चला। सीटीआर ने पाया कि एप्लिकेशन ने हीप बफर के अंत में स्मृति लिखा था।सी ++ नया/हटाएं और चार *
char *ff (char *s){
char *s1 = new char [strlen(s)];
strcpy(s1, s);
return s1;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *s = new char [5];
strcpy(s, "hello");
char *s2 = ff(s);
delete []s; // This works normal
delete []s2; // But I get an error on that line
return 0;
}
जाहिर है, यह सिर्फ एक व्यायाम और एक वास्तविक में है सेटिंग के बजाय आप 'std :: string' का उपयोग करेंगे, है ना? –
@MatthieuM। बिल्कुल सही। मुझे std :: स्ट्रिंग का उपयोग करने की अनुमति नहीं है; – user1448906