char *pCharSpace = new char;
pCharSpace = "Test This!";
delete pCharSpace; 这段代码编译没问题,但是执行的时候会挂。

解决方案 »

  1.   

    pCharSpace = "Test This!";
    要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?
    当然会挂
      

  2.   

    char *pCharSpace = new char;--------
    char *pCharSpace = new char[20];
      

  3.   

    格式要规范..
    //--------------
    char *pCharSpace = new char[20];if( pCharSpace == NULL )
    {
       ....;
    }.
    .
    .
    if( pCharSpcae )
    {
       delete[]pCharSpace;
       pCharSpace = NULL;
    }
      

  4.   

    #include <string.h>
    void main()
    {
    char *pCharSpace = new char[100];
    strcpy( pCharSpace, "Test This!" );
    if( pCharSpace )
    {
       delete[] pCharSpace;
       pCharSpace = NULL;
    }}
      

  5.   

    我找到问题答案了,,pCharSpace = "Test This!";  //字符串常量
    delete的时候肯定会挂啦
      

  6.   

    ....   
      我们都错了.呵呵.当初扫了一眼这个帖子.直接关了.现在回头看看还真是容易糊弄人.呵呵"
    pCharSpace = "Test This!";
    要用*pCharSpace,而且你分配的内存也就一个字符,怎么存一大串呢?
    当然会挂
    "这是1楼的话.现在回头看看代码.实际上"Test This"是常量,它不需要我们给它内存.
    就象 char * p;   p="123";没一点问题.
    楼主的代码:
    char *pCharSpace = new char;
    pCharSpace = "Test This!";犯的错误应该是 "new char" 这个内存泄露..
    至于崩溃的真正原因 却真如楼主自己所说了.
    .看指针的代码确实很容易被糊弄..