создать defalt конструктор? проблема в том что а вдруг пользователь захочет передать объекту тип string тогда не могу присваивать полям T1 Value = 0 должно быть T1 Value = nullptr
{} это дефолтный конструктор
template<typename T> struct storage { T value; storage(T value = T{}) : value{std::move(value)} { } };
Если это класс-контейнер, то по умолчанию, очевидно, он должен быть пуст. Если что-то ещё, вы должны, очевидно, знать, как работать с содержимым класса, потому что дефолтный конструктор – не единственный вопрос подобного рода
Либо требуй default constructible, либо выключай дефолт ктор, когда value_type не может
Обсуждают сегодня