El siguiente código no se compilará. ¿Por qué?No es posible: este puntero como argumento predeterminado. ¿Por qué?
class A
{
int j;
void f(int i = this->j);
}
Editar, para mayor claridad. Esto es lo que estaba tratando de hacer, utilizando menos líneas de código ...
class A
{
void f(int i){};
void f();
int j;
};
void A::f()
{
f(j);
}
¿Qué estás tratando de hacer aquí? –
Porque la instancia no está en el alcance dentro de la declaración de argumento ...? –
"... La expresión puede combinar funciones que son visibles en el ámbito actual, las expresiones constantes y las variables globales. La expresión no puede contener variables locales o variables de miembros de clase no estáticos ..." –