Debug Assertion Failed! 调试程序时,老是出错,有的时候可以调试,但结果出错。蹦出来的出错提示是:Debug Assertion Failed!Program:......File:afxtempl.hLine:254我在程序中使用了CArray。请问这是什么原因阿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File:afxtempl.hLine:254看这个系统文件中的254行,看看是什么地方出错了! AFX_INLINE TYPE CArray<TYPE, ARG_TYPE>::GetAt(int nIndex) const { ASSERT(nIndex >= 0 && nIndex < m_nSize); return m_pData[nIndex]; }这是第254行的内容,我用到了.GetAt()函数,用这个函数会出问题吗? nIndex >= 0 && nIndex < m_nSize返回值为FALSE检查nIndex的值 明显数组越界了! 取数据确保 index < CArray::GetSize ASSERT(nIndex >= 0 && nIndex < m_nSize);断言失败 说明nIndex不满足(nIndex >= 0 && nIndex < m_nSize);这个条件,检查一下吧 可能数组越界;ASSERT(nIndex >= 0 && nIndex < m_nSize);表示nIndex >= 0 && nIndex < m_nSize不成立,你传入的Index可能小于0或者大于总数了。 for (i=0; i<File1_Count ; i++)其中 File1_Count = from_id_1.GetSize();所有我觉得没有越界哦 我这个程序能连续比较两个文件,直到按下Cancel按钮才退出,第一遍比较的结果都是对的,第二遍的结果就错了,比较完一次我就跳用清空的函数,清空的函数是: from_id_1.RemoveAll(); from_id_2.RemoveAll(); to_id_1.RemoveAll(); to_id_2.RemoveAll(); ckt_1.RemoveAll(); ckt_1.RemoveAll(); p_1.RemoveAll(); p_2.RemoveAll();把所有的数组都这样处理了这样的清空对吗? 怎么得到弧线的两个端点 ILGetSize是Shell的标准接口么? 我发现MSDN说win2k有它,但是似乎xp才能调用 线程向用户界面发消息消息问题,请大虾帮忙 如何获得鼠标所在点的RGB值? 怎么在对话框中显示一gif格式的广告条? 关于OpenGL版本更新的问题,急 请教 在子线程中能获取调用它的线程句柄吗 为什么一执行文件ss.txt得内容就清空了??? sndPlaySound函数和PlaySound在WIN7下不能播放指定的wav文件 为什么在c中可以调用我的dll中的函数,而改成c++就不行了 CToolBar:如何去掉和菜单栏间的横线 问个关于锁键盘和鼠标的问题
Line:254
看这个系统文件中的254行,看看是什么地方出错了!
{ ASSERT(nIndex >= 0 && nIndex < m_nSize);
return m_pData[nIndex]; }
这是第254行的内容,我用到了.GetAt()函数,用这个函数会出问题吗?
返回值为FALSE检查nIndex的值
ASSERT(nIndex >= 0 && nIndex < m_nSize);表示nIndex >= 0 && nIndex < m_nSize不成立,你传入的Index可能小于0或者大于总数了。
其中 File1_Count = from_id_1.GetSize();
所有我觉得没有越界哦
第二遍的结果就错了,比较完一次我就跳用清空的函数,清空的函数是:
from_id_1.RemoveAll();
from_id_2.RemoveAll();
to_id_1.RemoveAll();
to_id_2.RemoveAll();
ckt_1.RemoveAll();
ckt_1.RemoveAll();
p_1.RemoveAll();
p_2.RemoveAll();
把所有的数组都这样处理了
这样的清空对吗?