问题 This is my binary operator to concatenate tuples: template <class... Args1, class... Args2> constexpr decltype(auto) operator+(const std::tuple<Args1...> &tup1, const std::tuple<Args2...> &tup2) { return std::tuple_cat(tup1, tup2); } It works perfectly on both compiler (gcc, clang) with two tuples: template <class Arg1, class Arg2> constexpr decltype(auto) concat_test(Arg1 &&arg1, Arg2 &&arg2) { return arg1 + arg2; } But when I try to use it in fold expression like follows: template <class...