明显是assert报的错, 你按照提示的行数找到那个assert,然后看调用堆栈, 分析一下什么原因吧!
解决方案 »
- C/S结构的系统,服务器端无法连接,动动鼠标键盘后就好了
- vc如何获取IP,MAC
- 请大家帮帮我:怎么获取View中的图像?我要把它插入到word中!
- 我的HelloRichedit程序中的richedit总是只能最多存放32k字符,请问如何去掉这个限制?
- (MFC ODBC)如何获得数据源中的所有表名???
- 关于STL中的find()
- 散分!!!200分!!!!
- 求教:如何处理.dat数据文件?
- 是否可以在状态栏绘图或者贴位图?
- 有谁知道从哪能找到异步串口通讯控件,原码,类都行!(VC)
- 求大神帮助 vs10调用6.0的dll时cstring赋值崩溃
- 在非主线程上创建窗口、执行消息循环,无法得到WM_CLOSE消息
嗯没错啊,该注意的都注意了、、
把用vector的地方先都注释掉,看能不能通过
然后一点点去掉注释,就能够定位到故障点了
for (i = 0; i < m_lineAcrossCnt; i++) //
lineCandidate.push_back(m_lineAcross[i]);for (i = 0; i < lineCandidate.size() - 1; i++)
{
lineNeighbor.clear();
lineNeighbor.push_back(lineCandidate[i]);
}我注释掉lineNeighbor.push_back(lineCandidate[i]);就不会有问题了,可是我不明白怎么就给出这种错了?
嗯没错啊,该注意的都注意了、、
把用vector的地方先都注释掉,看能不能通过
然后一点点去掉注释,就能够定位到故障点了谢谢你的回复。
for (i = 0; i < m_lineAcrossCnt; i++) //
lineCandidate.push_back(m_lineAcross[i]);for (i = 0; i < lineCandidate.size() - 1; i++)
{
lineNeighbor.clear();
lineNeighbor.push_back(lineCandidate[i]);
}我注释掉lineNeighbor.push_back(lineCandidate[i]);就不会有问题了,可是我不明白怎么就给出这种错了?
嗯没错啊,该注意的都注意了、、
把用vector的地方先都注释掉,看能不能通过
然后一点点去掉注释,就能够定位到故障点了谢谢你的回复。
for (i = 0; i < m_lineAcrossCnt; i++) //
lineCandidate.push_back(m_lineAcross[i]);for (i = 0; i < lineCandidate.size() - 1; i++)
{
lineNeighbor.clear();
lineNeighbor.push_back(lineCandidate[i]);
}我注释掉lineNeighbor.push_back(lineCandidate[i]);就不会有问题了,可是我不明白怎么就给出这种错了?
for(i = 0; i < m_lineAcrossCnt; i++) // for或if后面一定要跟花括号,这个习惯必须有
{
lineCandidate.push_back(m_lineAcross[i]);
}
把上面这段跑一下,先打印一下m_lineAcrossCnt的值
嗯没错啊,该注意的都注意了、、
把用vector的地方先都注释掉,看能不能通过
然后一点点去掉注释,就能够定位到故障点了谢谢你的回复。
for (i = 0; i < m_lineAcrossCnt; i++) //
lineCandidate.push_back(m_lineAcross[i]);for (i = 0; i < lineCandidate.size() - 1; i++)
{
lineNeighbor.clear();
lineNeighbor.push_back(lineCandidate[i]);
}我注释掉lineNeighbor.push_back(lineCandidate[i]);就不会有问题了,可是我不明白怎么就给出这种错了?
for(i = 0; i < m_lineAcrossCnt; i++) // for或if后面一定要跟花括号,这个习惯必须有
{
lineCandidate.push_back(m_lineAcross[i]);
}
把上面这段跑一下,先打印一下m_lineAcrossCnt的值
嗯好。我跟踪过m_lineAcrossCnt和lineCandidate.size() 的值是一样的,出现问题是lineNeighbor.push_back(lineCandidate[i]);
vector<Line> lineCandidate;
你这么试试,一般取容器中的内容都是用at而不用[]
这涉及到一个效率还有可靠性的问题
你那样改,就抛出另外一个bug了
我查到原因了,因为我这个函数不停的被调用,m_lineAcrossCnt这个变量的值不停的变化,引起空间不断重新配置,指向原来Vetor的迭代器失效了。。我给m_lineAcrossCnt固定值,程序就不会崩溃可是我还是不知道问题应该怎么解决??
你那样改,就抛出另外一个bug了
我查到原因了,因为我这个函数不停的被调用,m_lineAcrossCnt这个变量的值不停的变化,引起空间不断重新配置,指向原来Vetor的迭代器失效了。。我给m_lineAcrossCnt固定值,程序就不会崩溃可是我还是不知道问题应该怎么解决??
帮不了你了,我觉得你动手能力很欠缺。