使用迭代器时如何解决“访问冲突”?

时间:2014-02-20 15:09:28

标签: c++ vector iterator

我有一个名为CLine的班级,其中包含vector<CPoint>。我保存了vector<CPoint> m_vecPoint中沿线的所有点。当问题发生时,我试图遍历各点。

我的代码:

for(vector<CLine>::iterator iter = m_vecLine.begin(); iter != m_vecLine.end(); iter++)
{
    vector<CPoint>::iterator iter1 = iter->m_vecPoint.begin();
    int temp = iter1->x;
}

当我调试它时,int temp = iter1->xAccess Violation

可能有什么问题?

1 个答案:

答案 0 :(得分:3)

有可能开始==结束

for(vector<CLine>::iterator iter = m_vecLine.begin(); iter != m_vecLine.end(); iter++)
{
    vector<CPoint>::iterator iter1 = iter->m_vecPoint.begin();
    if(iter1 != iter->m_vecPoint.end())
    { int temp = iter1->x;}
}