我試圖將一些代碼移植到Ubuntu服務器上的新G ++。我不確定這段代碼試圖做什麼,但快速瀏覽一下,它試圖刪除與指針相關的內存。不會刪除指針
class mem_block
{
public:
class mem_block* next;
void* pntr;
int size;
mem_block(int i) {
record_new(sizeof(mem_block), MEM_MEMORY);
size = i;
pntr = new char[size];
return;
}
~mem_block() {
record_delete(sizeof(mem_block), MEM_MEMORY);
delete *pntr; // Troubled line.
return;
}
};
現在我試過刪除[] pntr; (就像它原來的那樣),它是當前的形式,等等......我不想評論這些代碼,因爲這會造成大量的內存泄漏,我敢肯定。
任何想法?這讓我無法刪除無效*在這種情況下,無效*是不是一個指針到對象類型
'delete [] pntr;'也許? – talonmies 2013-04-30 06:14:46