porque eu não posso converter nullptr para weak_ptr <>
class MyClass {
public:
MyClass(std::weak_ptr<MyClass> parent){}
}
Eu quero fazer isso:
auto newInstance = std::make_shared<MyClass>(nullptr);
ou o valor padrão do argumento weak_ptr é nulo, como:
void function(int arg,std::weak_ptr<MyClass> obj = nullptr);
mas, o que eu preciso é fazer isso em vez disso:
auto newInstance = std::make_shared<MyClass>(std::shared_ptr<MyClass>(nullptr));
por que é que?