【发布时间】:2018-05-22 10:00:25
【问题描述】:
我发现语法出现编译错误。
std::shared_ptr<int> p = new int(5);
31 41 E:\temprory (delete it if u like)\1208.cpp [Error] conversion from 'int*' to non-scalar type 'std::shared_ptr<int>' requested
不过没关系
std::shared_ptr<int> p(new int(5));
同unique_ptr;
但我不知道为什么会被禁止。
【问题讨论】:
-
构造函数标记为
explicit,因此不能复制初始化
标签: c++ c++11 initialization shared-ptr unique-ptr