How do I forward the values of tuple to a member initializer?
问题 I need to forward the values of a tuple to a member initializer: struct Struct { Member1 member1; Member2 member2; template<typename Tuple1, typename Tuple2> Struct( Tuple1&& tuple1, Tuple2&& tuple2 ) : member1(tuple1...), member2(tuple2...) {} }; The code above obviously isn't valid. How can I express it? Member1 and Member2 have no default/copy/move constructor. I know about std::apply , as suggested in How do I expand a tuple into variadic template function's arguments?. I also know about