内存越界
发表在C语言图书答疑 2015-01-17
是否精华
版块置顶:
CStringList* CListCtrlPop::SelectStringList(int number, CStringList *newstringlist)
{
if(number<0) 
{
MessageBox("stringlists.number<0");
return NULL;
}
ASSERT(newstringlist!=NULL);

CStringList* temp=m_strlist;
m_iColumns=number;
this->m_strlist=newstringlist;

this->ClearListAllColumn(); //将上次显示的数据删除;

int length=0; //记录总长度
CString str;
int* col_length=new int[m_iColumns]; //记录每列最长的长度
for(int k=0;k<m_iColumns;k++)
col_length[k]=8;
for(int i=0;i<m_iColumns;i++)
{
this->m_listctrl->InsertColumn(i,m_strlist[i].GetHead()); 调试到这里出错
col_length[i]=max(col_length[i],m_strlist[i].GetHead().GetLength());
POSITION pos=m_strlist[i].FindIndex(1);
for(int j=1;pos!=NULL;j++)
{
str=m_strlist[i].GetNext(pos);
col_length[i]=max(col_length[i],str.GetLength());
}
m_listctrl->SetColumnWidth(i,col_length[i]*10);//LVSCW_AUTOSIZE_USEHEADER
}
for(k=0;k<m_iColumns;k++)
length=length+col_length[k];
m_listctrl->MoveWindow(0,0,length*10+18,this->m_rectShow.Height()-7);
m_rectShow.right=length*10+26;
delete [] col_length;
return temp;
}

 内存越界怎样解决
分享到:
精彩评论 1
爱学习
学分:0 LV1
TA的每日心情
开心
2020-03-23 20:54:03
2015-01-19
沙发
你应该把那个变量i和c-listctrl用监视窗口看一下数据是不是不正确了
调试一下试一试
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照