Не знаю, поможет ли это вашей конкретной проблеме, но иногда желательно использовать make_shared
и избегать new
.
, поэтому:
return boost::make_shared<Object>(/* any arguments to constructor here */);
Дополнительно, вы можете попробовать std::shared_ptr
вместо boost::shared_ptr
.Они, наверное, точно такие же, а может и нет?Чтобы использовать его через TR1, я вам верю #include <tr1/memory>
.Я обычно просто использую его через C ++ 0x, в этом случае это #include <memory>
и добавляет -std=c++0x
к вашим флагам g ++.