调试执行以下程序
a;
b;
c;
每次调试到b的时候,肯定出现debug assert failed这样的对话框,但是如果我把
watch窗口里面的变量全部删除,或者清空,那么这个错误就不会出现了。
我想知道这个是为什么?
是我程序有问题呢,还是别的什么原因呀?
a;
b;
c;
每次调试到b的时候,肯定出现debug assert failed这样的对话框,但是如果我把
watch窗口里面的变量全部删除,或者清空,那么这个错误就不会出现了。
我想知道这个是为什么?
是我程序有问题呢,还是别的什么原因呀?
解决方案 »
- 如何比较两个数据库是否相同
- CString转化为dword问题,如下
- 如何将windows开始->程序下面所有的项目读入到自己的菜单中并实现单击菜单项后能运行对应程序的功能
- 关于一个嵌套查询语句的写法求教!
- 我的程序通过ODBC可以访问SQL SERVER和ACCESS和数据库,但有些SQL语句不能通用?
- 如何实现:鼠标放在一个区域里,停滞一段时间就自动出现说明的小框框?
- 如何将一个字符串转为16进制书
- 如何取得执行程序所在的当前路径?
- 串型口通讯????
- MFC中,怎么设计弹出的对话框中,里面有几个分页的不同的对话框?
- 串口传11.9k的文件大家要多少时间?我怎么用了13,秒?!
- 那位大侠能提供ActiveSkin做的xp风格的界面皮肤。可令加100分。谢谢。
估计哪儿漏了什么东东了
{
CPolyline allNodes;
allNodes.RemoveAll();
CArray<int,int> roadNumbers;
int j=0;
//roadNumbers.RemoveAll();
for(int i=0;i<m_pathNumber.GetSize()-1;i++)
{
j=GetRoadNumberOfTwoJoint(m_pathNumber.GetAt(i),m_pathNumber.GetAt(i+1));
roadNumbers.Add(j);
}
if(m_pathNumber.GetSize()<=1) return;
//以下开始在道路层中寻找路径
//CMapLayer *pMapLayer;
COwnerDrawLine *pLine=NULL;
POSITION pos;
//pMapLayer=m_pLayerSet->GetLayer("临时道路层");
if(m_pTmpRoadLayer)
{
for(i=0;i<roadNumbers.GetSize();i++)
{
//找到道路
if(roadNumbers.GetAt(i)!=-1)
{
pos=m_pTmpRoadLayer->m_pObjectManager[PRIMITIVE_LINE]->m_lsObject.GetHeadPosition();
while(pos)
{
//获取道路上符合要求的节点
pLine=(COwnerDrawLine*)m_pTmpRoadLayer->m_pObjectManager[PRIMITIVE_LINE]->m_lsObject.GetNext(pos);
if((int)pLine->m_polyline.GetAt(0).x ==roadNumbers.GetAt(i))
{
int start=-1,end=-1;
bool ss=false,ee=false;
for(int ii=1;ii<pLine->m_polyline.GetSize();ii++)
{
if(ptEqual(m_pathNodeArray.GetAt(i),pLine->m_polyline.GetAt(ii))&&!ss)
{
start=ii;
ss=true;
continue;
}
else if(ptEqual(m_pathNodeArray.GetAt(i+1),pLine->m_polyline.GetAt(ii))&&!ee)
{
end=ii;
ee=true;
continue;
}
}
if(start<=end&&ss&&ee)
{
for(ii=start;ii<=end;ii++)
allNodes.Add(pLine->m_polyline.GetAt(ii)); }
else if(start>end&ss&ee)
{
for(ii=start;ii>=end;ii--)
allNodes.Add(pLine->m_polyline.GetAt(ii));
}
else
{
allNodes.Add(m_pathNodeArray.GetAt(i));
allNodes.Add(m_pathNodeArray.GetAt(i+1)); }
}
} }
else
{
allNodes.Add(m_pathNodeArray.GetAt(i));
allNodes.Add(m_pathNodeArray.GetAt(i+1));
}
}
} m_pathNodeArray.RemoveAll();
m_pathNodeArray.Add(startp);
for(i=0;i<allNodes.GetSize();i++)
{
m_pathNodeArray.Add(allNodes.GetAt(i));
}
m_pathNodeArray.Add(endp); pLine=NULL;}