The following code won't compile. Why?
class A
{
int j;
void f( int i = this->j );
}
Edit, for clarity. This is what I was trying to do, using less lines of code...
class A
{
void f( int i ){};
void f( );
int j;
};
void A::f()
{
f( j );
}
Default argument values are bound at compile time.
"this" is only defined at run time, so can't be used.
See here for a fuller explanation: Must default function parameters be constant in C++?