#include using namespace boost; struct null_deleter { template void operator()(T) const { } }; int main() { extern int* object; boost::shared_ptr p(object); extern void (*function)(); boost::shared_ptr p2(function, null_deleter()); return 0; }