i tried use shared_ptr deleter:
class a{ }; void (*foo)(){ }; int main(){ std::shared_ptr<a> sp(new a, foo); //error: many arguments function call, //expected 0, have 1 } how fix that?
your deleter function should take a* type, example @ below deleter implementation:
struct a{ }; void deleter(a* p){ delete p; }; int main(){ std::shared_ptr<a> sp(new a, deleter); return 0; } also, declared function pointer foo, need implement it.
Comments
Post a Comment