【发布时间】:2012-07-02 04:09:04
【问题描述】:
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));
这是为什么呢?
【问题讨论】:
-
顺便说一句,下次在你的问题中也包括编译器错误
标签: c++ casting null shared-ptr weak-ptr