#include #include using namespace std::string_literals; template auto sum(T final) { return final; } template auto sum(T first, Ts... rem) { return first + sum(rem...); } int main(void) { bool dummy = sum(1.5, 2, 3, 10) == 16.5; assert(dummy); dummy = sum(1, 5, 7, 8, 2, 3, 4) == 30; assert(dummy); dummy = sum(1.5, 1, 2, 3.5) == 8.0; assert(dummy); dummy = sum("asdf"s, "abcdefghijklmnop"s, "qrstuvwxyz"s) == "asdfabcdefghijklmnopqrstuvwxyz"s; assert(dummy); }