В моем коде у меня есть что-то вроде этого
shrd_ptr_obj st = boost::make_shared<Myobj>();
Myobj tp = boost::make_tuple(0,0,0,0,0 );
Как я могу указать на ТП?
Естественным способом является передача параметра (ов) конструктора make_shared
и создать объект в той же строке.
shrd_ptr_obj st = boost::make_shared<Myobj>(boost::make_tuple(0,0,0,0,0));
Если вы хотите построить объект в отдельном шаге, вам нужно выделить tp
с new
вместо того, чтобы создавать его в стеке. Тогда вы можете создать boost::shared_ptr
из этого new
указатель
Myobj *tp = new Myobj(boost::make_tuple(0,0,0,0,0));
shrd_ptr_obj st = boost::shared_ptr<Myobj>(tp);
Других решений пока нет …