我一直在尝试在 C++ 中动态分配共享指针。但是,我不断收到错误
/usr/include/boost/make_shared.hpp:15:0: In installation of 'class boost::detail::sp_ms_deleter<char []>':
In file included from /usr/include/boost/make_shared.hpp:15:0,
from main.cpp:10:
/usr.include/boost/smart_ptr/make_shared.hpp:140:64: required from 'boost::shared_ptr<X> boost::make_shared(Args&& ... ) [with T = char []; Args = { char*} ]'
/usr/include/smart_ptr/make_shared.hpp:41:48: error: invalid application of 'sizeof' to incomplete type 'char []'
boost::shared_ptr<char[]> A = boost::make_shared<char[]>(50);
使用 std::shared_ptr 我得到类似的错误。
我需要一种在不使用新关键字的情况下分配动态数组的方法,因为这些是项目要求,因此另一种方法对我来说也是一个有效的解决方案。