在我的应用程序中,我使用 为我的变量 ( unsigned char*
)malloc()
分配了内存,当尝试在析构函数中释放该内存时,我使用此条件来避免双重损坏。
unsigned char *wsqData;
wsqData= (unsigned char *)malloc( 10000*sizeof( unsigned char));
在我的析构函数中
if(wsqData!=NULL)
{
free(wsqData);
wsqData=NULL;
}
现在的问题是,当我在析构函数之前释放内存时,这个“如果条件”无法正常工作,它再次尝试释放该变量,导致双重损坏错误。在这种情况下有什么问题?