#include #include namespace clanguml { namespace t20007 { template struct Adder { First add(First &&arg, Args &&...args) { return (arg + ... + args); } }; void tmain() { using namespace std::string_literals; Adder adder1; Adder adder2; Adder adder3; [[maybe_unused]] auto res1 = adder1.add(2, 2); [[maybe_unused]] auto res2 = adder2.add(1, 2.0, 3.0); [[maybe_unused]] auto res3 = adder3.add("one"s, "two"s, "three"s); } } }