| 2 | |
| 3 | template<typename... T> |
| 4 | constexpr auto first_plus_last(T... values) -> T...[0] |
| 5 | { |
| 6 | return T...[0](values...[0] + values...[sizeof...(values) - 1]); |
| 7 | } |
| 8 | |
| 9 | // first_plus_last(); // ill formed |
| 10 | static_assert(first_plus_last(1, 2, 10) == 11); |