Вывести параметры шаблона для параметра шаблона std::variantC++

Программы на C++. Форум разработчиков
Anonymous
Вывести параметры шаблона для параметра шаблона std::variant

Сообщение Anonymous »

У меня есть класс шаблона, который принимает std::variant в качестве параметра шаблона:

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

template
class X
{
};

X x;
Я хочу добавить ограничение для T, которое должно быть получено из std::variant.
Затем я хочу извлечь параметры шаблона этого варианта чтобы использовать их внутри класса.
Например:

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

template = true>
class X
{
std::tuple t; // std::tuple
};

X x;
Проблема в том, что я не могу получить эти параметры int, float из типа вариант.
Есть ли способ сделать это в C+ +17?
Этот вариант происходит от типа возвращаемого значения функции.
Из-за этого я не могу вместо этого заменить его на что-то вроде параметров варианта (чтобы принять int, float напрямую).

Подробнее здесь: https://stackoverflow.com/questions/785 ... -parameter

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