2013-03-18 2 views
-1

Я немного новичок в этом C++ и я написал код, но он дал Нарушение прав доступа чтения место .... ошибка Вот кодперебирать список с shared_ptr

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>>

Пожалуйста, помогите я застрял с этим на некоторое время

+8

Я не уверен, что это реальный C++ ... –

+0

Я довольно уверен, что это не настоящий C++ ... – ronag

+0

@Oli Может быть жуткая C++ Еогеасп расширение Визуальный ... – us2012

ответ

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 или нет?

  • Как вы используете возвращаемый объект, вы проверяете его действительность или нет?

+0

@M M, да. это то, что я имею в виду. Пожалуйста помоги –

Смежные вопросы