Is there a reason why template parameters can default to other template parameters, but not regular parameters? For instance:

    // OK
    int foo(int x, int y = x)()
    {
        return x*y;
    }

    // Not OK
    int foo(int x, int y = x)
    {
        return x*y;
    }

When I noticed this it seemed arbitrary, but maybe there's a reason?

Reply via email to