的是一个画线程序,折现的两端用小圆圈显示,用m_PointArray存储折线的端点坐标,m_PoingNum保存端点数目,但是当我加上红色的哪一行的时候就会出现Debug Assertion Failed!!这样的错误,这是为什么呢?我该怎么修改?最主要的还是想知道原因,请教各位大侠 void CReadCoodinateView::MyDraw()
{
CDC *pDC = GetDC(); //获取设备环境
int n=m_PointNum-1; /*根据坐标点绘出直线*/
for (int i = 0;i <m_PointNum-1;i++)
{
pDC->Ellipse(m_PointArray[i].x-4,m_PointArray[i].y-4,m_PointArray[i].x+4,m_PointArray[i].y+4); pDC->MoveTo(m_PointArray[i].x,m_PointArray[i].y);
pDC->LineTo(m_PointArray[i+1].x,m_PointArray[i+1].y);
}
pDC->Ellipse(m_PointArray[n-1].x-4,m_PointArray[n-1].y-4,m_PointArray[n-1].x+4,m_PointArray[n-1].y+4);
ReleaseDC(pDC);
}
{
CDC *pDC = GetDC(); //获取设备环境
int n=m_PointNum-1; /*根据坐标点绘出直线*/
for (int i = 0;i <m_PointNum-1;i++)
{
pDC->Ellipse(m_PointArray[i].x-4,m_PointArray[i].y-4,m_PointArray[i].x+4,m_PointArray[i].y+4); pDC->MoveTo(m_PointArray[i].x,m_PointArray[i].y);
pDC->LineTo(m_PointArray[i+1].x,m_PointArray[i+1].y);
}
pDC->Ellipse(m_PointArray[n-1].x-4,m_PointArray[n-1].y-4,m_PointArray[n-1].x+4,m_PointArray[n-1].y+4);
ReleaseDC(pDC);
}
根本没有必要单独记录m_PointNum,m_PointArray.GetSize()就可以获取点的数量了。