[ERROR]
A local object or non-static class member was used in the expression for a default argument.
struct A {
int t;
void f(int i=t); // error
};
void g(int i, int j=i); // error
Only use static or global objects or constants in expressions for default arguments.