UCHAR DataBuf[DATABUF_SIZE + OVERLAPDATA_SIZE];
char *pData_In = (char*)DataBuf; 
char *pData_Out = (char*)DataBuf;pData_In 和 pData_Out 定义应该怎么理解?
指向DataBuf数组的指针?还碰到了内存泄漏
Detected memory leaks!
Dumping objects ->
{439} normal block at 0x04028C10, 2730 bytes long.
 Data: <    gB (        > 00 00 00 01 67 42 00 28 E9 02 C3 F2 00 00 00 01 碰到了一大堆问题, 但不知道怎么解决
哪位高手留个email, 帮我看看到底该怎么解决?

解决方案 »

  1.   

    pData_In 和 pData_Out 经过最后两句代码处理后,指向了一个char 类型的地址.
    pData_In指向的内容与DataBuf指向的内容一样(确切地说是同一块内存,只是名字一个是pData_In一个是DataBuf),你的内存泄露了,你可以释放pData_In,也可以释放DataBuf,用他俩任何一个都释放同一块内存.pData_Out与DataBuf也是相同,哇,你这三个指针指的都是同一块内存啊!
    /////////
    这里没有new,全是普通的数组啊,怎么会有内存泄露?怀疑是其他地方导致,你注释掉这几句试试看,还泄露不?
      

  2.   

    有的时候VC调试模式下的提示内存泄漏不一定是准确的。他仅仅根据new delete malloc free配对原则来检测。
      

  3.   

    UCHAR DataBuf[DATABUF_SIZE + OVERLAPDATA_SIZE];
    char *pData_In = (char*)DataBuf; 
    char *pData_Out = (char*)DataBuf;
    没有内存泄漏 问题
    还碰到了内存泄漏 
    Detected memory leaks! 
    Dumping objects -> 
    {439} normal block at 0x04028C10, 2730 bytes long. 
    Data: <    gB (        > 00 00 00 01 67 42 00 28 E9 02 C3 F2 00 00 00 01 是其它地方代码的问题把行号输出,看看哪一行代码
      

  4.   

    这个起始也把我弄的郁闷的别人写的图像方面的东西, 接到我的手上, 我也只能继续做了.
    在析构函数中, 我一用delete pData_In就会报错.
    我认为DataBuf数组会自动释放, 所以一直没处理pData_In, pData_Out.哪位留个email, 我发给你们看看
      

  5.   

    此处无内存泄漏 ,利用其它技术判断内存泄漏
    比如在文件中加入:
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    文件中有内存泄漏会指示在那里
    ,或者
    http://msdn.microsoft.com/zh-cn/library/c99kz476(VS.80).aspx
      

  6.   

    不妨去下载一个 CheckBounders,
    在程序内任意位置设置断点,按下 F5 调试,退出程序,
     可以找到内存泄露和资源泄露,很方便。
      

  7.   

    怎么能用delete 呢????
    应该是有new的地方才会有内存泄露的可能啊!