Можно ли добавить вариант STD :: в качестве компонента в сущность в ENTT?C++

Программы на C++. Форум разработчиков
Anonymous
Можно ли добавить вариант STD :: в качестве компонента в сущность в ENTT?

Сообщение Anonymous »

У меня есть разные перечисления, чтобы указать тип объекта. Затем я использую вариант std :: variant в качестве объекта может быть любого типа, то есть < /p>

Код: Выделить всё

enum Type1{
type1a,
type1b
};

enum Type2{
type2a,
type2b
};

using Types = std::variant;
< /code>
Тогда я хочу добавить компонент в сущность в реестре как < /p>
registry.emplace(entity, Type1::type1a);
< /code>
Когда я пытаюсь это сделать, я получаю ошибку < /p>
error: 'class std::variant' has no member named '_M_destructive_move'
[build]       this->_M_destructive_move(std::move(__rhs));
Но, насколько я знаю, std :: variant подходит для движения. Есть способ обойти это?


Подробнее здесь: https://stackoverflow.com/questions/796 ... ty-in-entt

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