本帖最后由 shentao17792 于 2010-01-25 16:18:40 编辑

解决方案 »

  1.   

    大概是你的linePoint currLine是一个局部变量,到OnDraw函数中已经消失,而你用指针有
    linePoint *currLine=new linePoint(); 而且你没有delete,那么在OnDraw中是还存在的
      

  2.   

    linePointArray.Add(&currLine); 你用&的话,也就是保存其地址,而linePoint currLine; 只是局部变量,不能保存
      

  3.   


    你说的有道理,看来用linePoint currLine是无法实现的。
      

  4.   


    linePoint currLine;
    currLine.bgPoint=m_prePoint;
    currLine.edPoint=point;
    linePointArray.Add(&currLine); ==》这里把局部变量的指针保存到linePointArray里
    在OnDraw函数中
    linePoint *currLine=linePointArray.GetAt(index); ==》这里得到的是局部变量的指针,此时该指针早已无效。(局部变量已经超出生存期了)new之所以有效,是new的对象没有delete之前一直生存。