Default parameters: can only the last argument(s) be left?
No, it is not possible in current syntax.
Alternatively from specifying default parameter values you can use multiple function overloads like:
int foo(int a, int b){return a+b; }
int foo(int b){return foo(0,b); }
int foo(){return foo(0,1); }