首页 > 解决方案 > 如何检索可变参数模板参数的类型?

问题描述

我找不到一种方法来定义这样的类型:

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。

提前非常感谢。

标签: c++templatestypesvariadicdeclval

解决方案


推荐阅读