Here is a MRE of my code:
#include <memory>
struct Deleter
{
void operator() (A* a) {}
};
class A
{
A(int a) {}
};
int main()
{
std::unique_ptr<A, Deleter> unique = std::make_unique<A, Deleter>(5);
}
I get this error:
error C2664: 'std::unique_ptr<A,std::default_delete<A>> std::make_unique<A,Deleter,0>(Deleter &&)': cannot convert argument 1 from 'int' to 'Deleter &&'
How should I call A
constructor with std::make_unique
when I use a custom deleter like that?