Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

shared_ptr для динамического массива

class My { public:
auto create(size_t size)->void; auto empty()->bool; auto print()->void;
size_t size; shared_ptr arr; };
auto My::create(size_t size)->void { this->arr = make_shared(new int[size]); this->size = size; };
Имеется небольшой класс для создания массива обернутого в shared_ptr, при запуске возникает ошибка : "Невозможно преобразовать int* в int", не могу понять почему


Ответ

Объединю решения вопроса для удобства: 1) ассоциация 2) используя reset
this->arr.reset(new int[size], std::default_delete());

Комментариев нет:

Отправить комментарий