
template <int i>
inline void func(int a[])
{
  func<i - 1>(a);
  a[i] = i;
}

template <>
inline void func<0>(int a[])
{
  a[0] = 0;
}

int a[10];
int main()
{
  func<9>(a);
  return 0;
}
