Default parameter from template parameter bug (VC2008SP1)

Back to Compiler bugs

This code should print 1 2 3 4, but instead prints 1 1 1 1.

#include <iostream>

template <int N>
void f(int x = N);

template <int N>
void f(int x)
{
    std::cout << x << std::endl;
}

int main()
{
    f<1>();
    f<2>();
    f<3>();
    f<4>();

    return 0;
}