Given the code below:
MyClass::MyClass(std::tuple<int, int> param)
: mytuple(param){}
tuple<int, int> mt = { 1,2 };
auto myClass = make_unique<MyClass>(mt); // ok
auto myClass1 = make_unique<MyClass>({1,2}); // error
auto myClass01 = make_unique<MyClass>(make_tuple(1,2)); // ok
unique_ptr<MyClass> Myclass2(new MyClass({ 1,2 })); // ok
I get errors:
Error C2660 'std::make_unique': function does not take 1 arguments
Error (active) E0304 no instance of overloaded function "make_unique" matches the argument list
Why is this happening and what I should do?