请教关于new char 和 delete的问题——堆栈问题
我在程序中一共用了三个new char
pFileBuff[0] =(unsigned char *)new char[FileLnth[0]];//读取第一个文件内容的数组
pFileBuff[1] =(unsigned char *)new char[FileLnth[1]];//读取第二个文件
后面我需要开辟一个新的指针,在pFileBuff[0]指向的数组加上一定数目的别的数值,然后存到一个文件后,删除三个指针。如下面:P2AD大于FileLnth[0],P2AD为外部输入的数值,数值本身没有问题,调试过程中能识别。
pFileBuff =(unsigned char *)new char[ P2AD+FileLnth[1])//准备存到第三个文件的数组
等我将pFileBuff的内容存到CFILE file文件后,delete三个new char开辟的空间。程序出现错误。不知怎么消除这种错误,我试过,除非不delete pFileBuff 才能消除错误
错误信息:HEAP[******.exe]: Heap block at 00C3C458 modified at 00C3C4BC past requested size of 5c
delete pFilBuf;//出错,即使带[]也出错
delete pFileBuff[0];
delete pFileBuff[1];