不知道下面这种写法是否正确?typedef struct 
{
    char szMember[1024];
}FILENAME;FILENAME *pFn = new FILENAME;
...delete pfn;请问:这样删除pFn是否正确,谢谢!

解决方案 »

  1.   

    哦,应该是这样:
    FILENAME *pFn = (FILENAME*)new char[1024];delete pfn;这种写法是否正确?
      

  2.   

    你在char szMember[1024]申请的内存没有释放
      

  3.   

    没有问题。
    如果是成员变量也使用new的话,才需要delete成员变量。MFC中这种结构有很多。
      

  4.   

    第一种没问题
    倒是第二种很别扭,就是要用也该是
    FILENAME *pFn = (FILENAME*)new char[sizeof(FILENAME)];delete pfn;
      

  5.   

    这样子就没问题了,添加其他是画蛇添足
    typedef struct 
    {
        char szMember[1024];
    }FILENAME;FILENAME *pFn = new FILENAME;
    delete pfn;
      

  6.   

    严重同意 bluebohe(薄荷) 的
      

  7.   

    typedef struct 
    {
        char szMember[1024];
    }FILENAME;FILENAME *pFn = new FILENAME;
    delete pfn;
    一定对