问题描述
- 为什么类中的数组size会突然变大
-
vector ans; //类中的public成员变量先在一个函数中为ans push_back了很多值 这里的size是正常的因为
for (int i = 0; i < ans.size(); i++)
m_list.AddString(ans[i]->getNum());
可以正常执行,在listbox上可以看到正确的运行结果
但是在另一个按钮响应函数中执行下列语句时则一直提示 遇到不适当的参数void searchInfo::OnLbnDblclkList1()
{
// TODO: 在此添加控件通知处理程序代码
single *cur = ans[m_list.GetCurSel()];
infoDlg dlg(cur);
dlg.DoModal();
}
在调试的时候发现数组的size本来是3的 在赋值语句时突然变成了很大的数,其中的值当然也都变了
应该就是因此导致了错误。
实在是百思不得其解
解决方案
自己解决了,整个传数据的过程都是错的,对mfc的结构才有个初步了解,要是有人遇到跟我一样的问题可以私信我解答
解决方案二:
单步调试看下ans什么时候有数据添加的,m_list.GetCurSel()这里获得的数值是多少,size变了一定是有数据添加进去才会变
解决方案三:
是不是每次存入数据前没有清楚原有数据
解决方案四:
先看你的数据是否正确插入了,其次是不是你调试的时候没有关闭优化,导致查看结果不准确
解决方案五:
额,单步调试一下,看一下哪一步出现了问题
解决方案六:
是不是每次存入数据前没有清楚原有数据
时间: 2024-08-06 23:17:47