0

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?

Dmitry
  • 99
  • 7

0 Answers0