Статическое утверждение не удалось: тип результата должен быть конструктивным из ввода типа при перемещении объектов в sC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Статическое утверждение не удалось: тип результата должен быть конструктивным из ввода типа при перемещении объектов в s

Сообщение Anonymous »

Я экспериментирую с семантикой перемещения в C ++, и у меня есть простой класс объект , который должен быть только подвижным - копирование отключено.
Вот класс:
class Entity {
public:
//...
Entity() = delete;
Entity(const Entity& entity) = delete;
explicit Entity(Mesh&& mesh) : mesh(std::move(mesh)) {
printf("Entity Created");
}
Entity(Entity&& entity) noexcept: mesh(std::move(entity.mesh)) {
printf("Inside the Entity move Constructor");
}

//...
private:
Mesh mesh;
};
< /code>
А вот как я пытаюсь его использовать: < /p>
//...
Entity e1(std::move(mesh_1));
Entity e2(std::move(mesh_2));

std::vector entities = {std::move(e1), std::move(e2)};
//...
< /code>
Эта строка вызывает следующую ошибку: < /p>

Ошибка: Статическое утверждение.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -type-when
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»