我正在尝试将一些代码移植到 Ubuntu Server 上的新 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;
}
};
现在我试过 delete [] pntr; (因为它最初是),它是当前形式,等等......我不想将代码注释掉,因为我敢肯定这会造成大量内存泄漏。
有任何想法吗?它使我无法删除 void* ,在这种情况下, void* 不是指向对象的类型