c++ - שגיאה בעת קריאה ל delete

shakedunay

New member
c++ - שגיאה בעת קריאה ל delete

הגדרתי מחלקה שאחד השדות שלה הוא מצביע לchar (ז"א למחרוזת). ב c'tor מוקצה זיכרון דינאמי למחרוזת עפ"י מחרוזת שהתקבלה. ב d'tor משוחרר הזיכרון הדינאמי, אך בעת הקריאה לפונקיצה delete אני מקבל שגיאת זמן ריצה. מדוע כך המצב?
 

selalerer

New member
לא זאת הבעיה.

אתה לא מקצה מקום לNULL במחרוזת, תוסיף 1 להקצאה שלך:
this->itsName=new char[strlen(itsName)+1];​
 

selalerer

New member
לא שזה פוסל את מה שהוא אמר ../images/Emo13.gif

אתה משחרר רק את הchar הראשון במערך, בכדי לשחרר את כל המערך, אתה צריך לעשות את זה כמו שאוריאד אמר.
 
למעלה