【发布时间】:2020-12-08 17:08:30
【问题描述】:
这个小例子给出了错误信息
Error C2440 '=': cannot convert from '_Ux (*const )' to 'int *' Templ 1266
Error C3692 non-scalar type 'int []' cannot be used in a pseudo-destructor expression
_Ux(*const) 是什么?
这是程序:
#include <memory>
int main()
{
shared_ptr<int[]> as = make_shared<int[]>(10);
for (int i = 0; i < 10; i++) {
as[i] = i + 100;
}
}
【问题讨论】:
-
抱歉,使用了
std命名空间。 -
@RemyLebeau 在他的回答中也提到了可能对 c++20 的支持
-
我使用 Visual Studio C++ 2019,语言标准 C++17。从
shared_ptr切换到unique_ptr时,代码运行如图所示。
标签: c++ shared-ptr