Buf=new char[1024]; strcpy(buf.... Send(Buf, .... delete Buf ;    //执行这里的是为什么会出错?
 
难道Send还会占用?有什么可能?

解决方案 »

  1.   

    在vc下又是就出那样的错误
    你可以先改成delete[] Buf;
    试试以前我就时这样改好的
    然后不幸的话,给我发消息!!
      

  2.   

    兄弟:
    delete[] Buf是释放连续分配的空间
    delete Buf是释放一个单元,所以出问题了
      

  3.   

    你申请的是连续的内存空间块,比如数组这种情况,要用delete []Buf;
    如果你这样:
     char *pBuffer=new char;
    则用delete pBuffer;
      

  4.   

    申请数组空间后,一定要用delete[] ...释放的,
    这点MSDN中专门有提到。
      

  5.   

    你的strcpy(buf...)会不会向buf中拷入的内容>=你申请的内存
    send(buf)不会出错,但delete buf会出错的
      

  6.   

    最好delete[],但用delete不会提示错误!
    同意lizmei001(暗黑)的观点,应该是内存越界!
      

  7.   

    可能是内存越界
    对于char *来说
    delete [] Buf 
    和delete  Buf是一样的不要光看书上所说,要去弄明白根本
    delete[]
    和delete
    的区别是析构!!!!!!!
    没有析构就没有区别