This is a point about which gcc 4.9.2 and clang 3.5.2 are in sharp disagreement. The program:
template int foo(int i = 0, Ts &&
A Kerrek SB says, it's not possible. What you could do, instead, is using a std::tuple
std::tuple
template void foo( std::tuple t = std::tuple(0) ) {}