std :: string :: find()函数出错

时间:2014-12-01 21:22:17

标签: c++ list class stl iterator

我收到运行时错误,指出列表迭代器不可递增。

void extractData::compareInventoryRecipe(string recipeLine)
{
    list<double>::iterator invenIterAmount = inventoryAmount.begin();
    list<double>::iterator recipeIterAmount = recipeAmount.begin();
    for (list<string>::iterator invenIter != inventoryItem.begin(); invenIter !=inventoryItem.end(); ++invenIter)
    {
        ++invenIterAmount;
        size_t found;
        found = recipeLine.find(*invenIter);
    }
}

错误发生在found = recipeLine.find(*invenIter)的行上。 成员inventoryAmountrecipeAmountinventoryItem属于我班级的受保护范围。这个函数也是我班级的公共功能。有人可以帮帮我吗?

编辑:确切的错误说Debug Assertion失败。它列出了该行,它表示表达式列表迭代器不可递增。我确定错误发生在哪一行,因为VS在那里创建一个断点。

EDIT2:当我在论坛中输入时,for循环输入错误。它仍然会出现同样的错误。

0 个答案:

没有答案