почему я не могу привести nullptr к слабому _ptr<>

class MyClass {
public:
     MyClass(std::weak_ptr<MyClass> parent){}
}

я хочу сделать это:

auto newInstance = std::make_shared<MyClass>(nullptr);

или значение по умолчанию аргумента weak _ptr равно null, например:

void function(int arg,std::weak_ptr<MyClass> obj = nullptr);

но вместо этого мне нужно сделать это:

auto newInstance = std::make_shared<MyClass>(std::shared_ptr<MyClass>(nullptr));

это почему?

16
задан uray 1 July 2012 в 12:22
поделиться