new = (PictImage *) malloc (sizeof (PictImage));
我debug跟踪老是在这个地方出错,提示:
unhandled exception in a.exe:cx0000005:Access Violation
这是怎么回事呢

解决方案 »

  1.   

    try
    {
    }
    catch(...)
    {
    }
    试试
    为什么不用new看看malloc成功了没有
    失败了返回值为空
      

  2.   

    因为是c程序写的嘛
    所以不能用try
    再者根本就没法看返回值,因为一执行到这句就报错
      

  3.   

    你要建立一个支持MFC的Win32 Console Application的工程,把main里面的代码拷贝到_tmain()函数的if()语句的else中,试一下按照我的方式,我已经编译成功了
      

  4.   

    new是C++的关键字,换一个试试呢
      

  5.   

    我使用malloc()出现上述问题的
    该怎么办呢
      

  6.   

    将你的语句分开,看看是否值太大
    int size
      

  7.   

    int size = sizeof(PictImage);
    void * pt= malloc(size);
    newpi    = (PictImage *) pt;
      

  8.   

    int size = sizeof(PictImage);
    void * pt= malloc(size);
    PictImage * newpi = (PictImage *)pt;
      

  9.   

    这样还是不行
    在void * pt= malloc(size_b);出错