for (int iC = 0; iC < m_ArrCurve.GetSize(); iC++)
{
delete m_ArrCurve[iC];
m_ArrCurve[iC] = NULL;
}
如上述代码~~如果m_ArrCurve.GetSize()为5,则最后m_ArrCurve数组是什么?是[0,0,0,0,0,]吗?还是[0]?

解决方案 »

  1.   

    这样写不对,我猜你的m_ArrCurve是不是CArry什么的?如果是那样,你应该是
    for (int iC = 0; iC < m_ArrCurve.GetSize(); iC++)
    {
    delete m_ArrCurve[0];
    ...
    }
      

  2.   

    恩~我其实本意是想问m_ArrCurve[iC] = NULL; 假如有5位,是将数组变为[0,0,0,0,0,]?还有我想把这[0,0,0,0,0]数组变为[0],我应该怎么办?
      

  3.   

    表述不清,你这m_ArrCurve是不是存了什么数据类型?m_ArrCurve[iC] = NULL当然只能使数组中的一个变为NULL.
      

  4.   

    这个不是循环的吗?ic是循环参数~
    for (int iC = 0; iC < m_ArrCurve.GetSize(); iC++)
    {
                delete m_ArrCurve[iC];
                m_ArrCurve[iC] = NULL; 
    }
    我这样问吧,我在这个代码后加一个,m_ArrCurve.RemoveAll();是清除m_ArrCurve中的所有参数?假如原来m_ArrCurve是[1,2,3,4,5]或者[0,0,0,0,0],那么执行完m_ArrCurve.RemoveAll()这个,m_ArrCurve数组是什么样的?因为我后续程序要再次调用m_ArrCurve.GetSize(),我的目的是将m_ArrCurve数组的元素个数变为[1]或者[0]
      

  5.   

    m_ArrCurve.RemoveAll()之后,m_ArrCurve的内存也就释放了,里面当然没有任何数据了