Я столкнулся с проблемой, похожей на указатель 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
}
Есть идеи, почему это происходит?