使用shared_ptr迭代列表

时间:2013-03-18 21:56:34

标签: c++ c++11

我对这个C ++有点新,我写了一些代码,但它给了Access违规读取位置....错误 这是代码

std::shared_ptr<Shoop> FindChips(const Scam& scan) const
{
    for each(std::shared_ptr<Shoop> pChips in mPeas)
    {
        if (pChips->GetMoreChips().Frieh(scan))
            return pChips;
    }
}

其中mPeas为std::list<std::shared_ptr<Shoop>>

请帮助我一直坚持这个

1 个答案:

答案 0 :(得分:1)

你的意思是下面的代码,在标准的C ++中?!

for (auto &pChips : mPeas)
{
    if (pChips->GetMoreChips().Frieh(scan))
        return pChips;
}
return nullptr;  // <-- return nullptr and check it at caller side
  • 崩溃点在哪里?在for内或返回功能后?

  • 查看mPeas的所有项目是否由new构建?

  • 如何使用返回的对象,是否检查其有效性?