MFC中CArray的问题?
CStrings;s.Format(L"%d",m_num);MessageBox(s);//m_num为5CStrings11;intjjj=list.GetSize(...
CString s;
s.Format(L"%d", m_num);
MessageBox(s); //m_num为5
CString s11;
int jjj = list.GetSize();
s11.Format(L"%d", jjj);
MessageBox(s11); //之前的CArray的长度为5
for(int i = list.GetSize() - m_num; i < list.GetSize();i++)
{
list.RemoveAt(i); //删除CArray中元素
}
CString s1;
int jj = list.GetSize();
s1.Format(L"%d", jj);
MessageBox(s1); //删除之后长度为2
为什么循环删除元素之后长度是2呢?
int length = list.GetSize();
s11.Format(L"%d", length);
MessageBox(s11);
for(int i = length - m_num; i < length; i++)//error
{
list.RemoveAt(i); //删除CArray中元素
}
这里我改成这样写为什么有出现断言了呢? 展开
s.Format(L"%d", m_num);
MessageBox(s); //m_num为5
CString s11;
int jjj = list.GetSize();
s11.Format(L"%d", jjj);
MessageBox(s11); //之前的CArray的长度为5
for(int i = list.GetSize() - m_num; i < list.GetSize();i++)
{
list.RemoveAt(i); //删除CArray中元素
}
CString s1;
int jj = list.GetSize();
s1.Format(L"%d", jj);
MessageBox(s1); //删除之后长度为2
为什么循环删除元素之后长度是2呢?
int length = list.GetSize();
s11.Format(L"%d", length);
MessageBox(s11);
for(int i = length - m_num; i < length; i++)//error
{
list.RemoveAt(i); //删除CArray中元素
}
这里我改成这样写为什么有出现断言了呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询