考虑以下代码:
template <class F, class... Args>
void function(F&& f, Args&&... args)
{
using type1 = decltype(std::forward<F>(f)(std::forwards<Args>(args)...));
using type2 = decltype(/*equivalent expression but only using types */);
}
有没有办法在所有情况下都type2
一样,但只使用表达式中的类型,或者换句话说,只使用and而不是and ?type1
decltype
F
Args
f
args