自定義了一個(gè)類,其中有幾個(gè)共有成員變量,是char*類型(指針)。構(gòu)造函數(shù)中都初始化為0了。在其中一個(gè)成員函數(shù)中為這些char* 指針new了個(gè)數(shù)組。在析構(gòu)函數(shù)中使用delete[]釋放內(nèi)存。運(yùn)行結(jié)束后出錯(cuò),顯示“debug assertion failed”請(qǐng)問為什么?
3 回答

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
new的時(shí)候char* p = new type[0] 不要出現(xiàn),也就是判斷下數(shù)組是否>0
檢查char* 指針用的時(shí)候是否重定向了
delete []的時(shí)候 要判斷下指針是否為空
任何時(shí)候delete[] p 之后立刻把指針p = NULL;置空,這樣即使你不小心重復(fù)delete[] p; 也不會(huì)有問題。
- 3 回答
- 0 關(guān)注
- 1251 瀏覽
添加回答
舉報(bào)
0/150
提交
取消