执行到这里会程序异常的

解决方案 »

  1.   

    CRect*prect=new CRect(1,2,3,4); 
    delete prect;
      

  2.   


    //正确
    CRect* prect = new CRect(1,2,3,4);
    delete prect;
    prect = NULL;
    //错误
    CRect  rect  = new CRect(1,2,3,4);
    CRect* prect = ▭
    delete prect;
    prect = NULL:
    为什么呢?
      

  3.   

    CRect  rect  = new CRect(1,2,3,4);
    只是从new出的CRect对象复制一份,放到新的rect,这个rect并不是new出来的,而是在栈上的变量。当然不能delete