повреждение кучи при выходе из области видимости с unique_ptr

Я столкнулся с проблемой, похожей на указатель void, возвращенный из функции повреждения кучи

Сходство в том, что я получаю сообщение "Повреждение кучи" при выходе из области, где используется unique_ptr.

Вот код:

void CMyClass::SomeMethod ()
{
  std::unique_ptr spMyInterface;
  spMyInterface.reset(new CMyInterfaceObject()); // CMyInterfaceObject is derived from IMyInterface

  any_list.push_back(spMyInterface.get()); // any_list: std::list

  any_list.clear(); // only clears the pointers, but doesn't delete it

  // when leaving the scope, unique_ptr deletes the allocated objects... -> heap corruption
}

Есть идеи, почему это происходит?

5
задан Community 23 May 2017 в 10:29
поделиться