Valgrind 抱怨 new (第一个)的行:
#ifndef MAXI_BUF_SIZE
#define MAXI_BUF_SIZE 2*8192
#endif
if (lg_maxi_buf == NULL)
{
lg_maxi_buf = new unsigned char[MAXI_BUF_SIZE] ;
}
else
{
delete [] lg_maxi_buf ;
lg_maxi_buf = NULL ;
lg_maxi_buf = new unsigned char[MAXI_BUF_SIZE] ;
}
我想解释一下,该字段lg_maxi_buf
是 Audio_decoder 类的一部分,它的声明如下:
unsigned char *lg_maxi_buf;
在类Audio_decoder的构造函数中lg_maxi_buf
是这样初始化的:
lg_maxi_buf = NULL;
感谢您的回答。我想我将不得不使用智能指针,但我对它们的了解很差。