Как получить тип аргумента шаблона переменной?

Я не могу найти способ определить тип как это:

template<typename TFirst, typename TSecond, typename ... Args>
using hasSomeFunc = decltype(std::declval<TSecond>().SomeFunc<TFirst, Args...>(std::declval<std::function<void(TFirst&)>>(), std::declval<TFirst&>(), std::declval<Args&>() ...));

Моя проблема в том, что компилятор не позволяет мне написать это в контексте:

std::declval<Args&>() ...

Есть ли способ определить тип шаблонной функции с переменным аргументом?

Я использую C++17.

Большое спасибо заранее.

0 ответов

Другие вопросы по тегам