c++ - Shared pointer with deleter -


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