私のアプリケーションでは、unsigned char*
を使用して変数 ( )malloc()
にメモリを割り当てました。デストラクタでそのメモリの割り当てを解除しようとすると、この条件を使用して二重の破損を回避します。
unsigned char *wsqData;
wsqData= (unsigned char *)malloc( 10000*sizeof( unsigned char));
私のデストラクタで
if(wsqData!=NULL)
{
free(wsqData);
wsqData=NULL;
}
今問題は、デストラクタの前にメモリを解放したときです。この「条件」が正しく機能しなかった場合、もう一度その変数を解放しようとすると、二重破損エラーが発生します。このシナリオの問題は何ですか?