Здравствуйте, nen777w, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>Как выкрутиться? как сделать так что бы отработал деструктор.
N>shared_ptr — может быть создан с вашим deleter-ом. смотрите документацию.
все равно не отрабатывает
void deleter( boost::any* ptr)
{
a1* aa1 = boost::any_cast<a1>(ptr);
delete aa1;
delete ptr;
}
void test1(std::vector<boost::shared_ptr<boost::any>>* pV)
{
boost::shared_ptr<boost::any> ss;
for (int i=1; i<=2; i++)
{
ss.reset(new boost::any(new a1()), deleter);
pV->push_back(ss);
}
}