怎么用CArray类删除最后一个元素?

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:24:30
用CArray类创建一个自定义类的数组m_array,初始化m_array.SetSize(0);然后用Add()往里面加入元素,当要删除最后一个元素我用
m_array.RemoveAt(m_array.GetSize());,当调用的时候弹出一个出错的对话框,请问下哪有问题?应该怎样改?请帮忙看下,谢谢~

m_array.RemoveAt(m_array.GetCount()-1);
你忘记了在C和C++中数组下标从0开始了吧^_^

GetCount()得到CArray中存在元素的个数。
GetSize()得到CArray实际分配的内存容量(多少个元素),往往比元素个数多几个,用以添加元素时避免频繁的内存申请。因此计算元素个数时应该用GetCount()

up

m_array.RemoveAt(m_array.GetSize() - 1);,