मैं इस कोड चलाने के बाद इस "heap corruption detected
" संदेश:ढेर भ्रष्टाचार का पता चला | सी ++
uli x;
x = "9876123";
क्या "ढेर भ्रष्टाचार का पता चला" का क्या मतलब है:
uli& uli::operator =(char* n)
{
char* buffer = new char[strlen(n)];
char* p;
int op;
int coef;
strcpy(buffer, n);
while(*buffer)
{
op = strlen(buffer) - 5;
p = (op >= 0) ? op+buffer : buffer;
coef = atoi(p);
if(coef > 65535)
coef = atoi(++p);
push(head, coef);
*p = '\0';
}
delete buffer; // <- heap corruption detected
return *this;
}
यह मैं कैसे विधि कॉल है?
'हटाएं [] बफर' का उपयोग करें। –
क्या आप स्मृति को संभालने के लिए किसी ऑब्जेक्ट का उपयोग करने के बावजूद हैं। शायद एक char * के बजाय एक std :: स्ट्रिंग। –
मैं यह अच्छा नहीं हूं – Jonas