Как выкрутиться? как сделать так что бы отработал деструктор.
class a1
{
public:
a1(){std::cout << "create object =" << this <<std::endl;};
~a1(){std::cout << "destroy object =" << this <<std::endl;};
void test(){std::cout << "test bject =" << this <<std::endl;};
};
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()));
pV->push_back(ss);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<boost::shared_ptr<boost::any>> v1;
test1(&v1);
v1.pop_back();
return 0;
}