次のような型を定義する方法が見つかりません。
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を使用しています。
よろしくお願いします。