Имеется класс MyClass, разумеется с конструктором, нужно создать вектор умных указателей на объекты этого класса. Сам указатель создается, но при попытке добавления в вектор вылезает ошибка . Что я упустил?
#include <memory>
#include <vector>
using namespace std;
Int main()
{
vector<unique_ptr<MyClass>> vectorPtr;
unique_ptr<MyClass> p1(new MyClass);
// до этого момента всё в порядке
vectorPtr.push_back(p1);
return 0;
}
std::unique_ptr
не имеет конструктора копирования, поэтому, чтобы поместить его в вектор, его нужно переместить туда:
vectorPtr.push_back(std::move(p1));
Или так:
vectorPtr.push_back(std::make_unique<MyClass>())
Либо же создавать прямо в векторе:
vectorPtr.emplace_back(new MyClass);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте, мне не хватает стандартной функции required для input сейчас мне надо сделать следующее
Есть отправка сообщенийОна работает, но когда я отправляю сообщение, текст в диве остается