不可能:此指针作为默认参数.为什么?

ale*_*reC 6 c++ arguments this default-value this-pointer

以下代码将无法编译.为什么?

class A
{
   int j;
   void f( int i = this->j );
}
Run Code Online (Sandbox Code Playgroud)

编辑,为清楚起见.这就是我尝试做的事情,使用较少的代码行......

class A
{
   void f( int i ){};
   void f( );
   int j;
};

void A::f()
{
    f( j );
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*ric 7

默认参数值在编译时绑定.

"this"仅在运行时定义,因此无法使用.

请参阅此处以获得更全面的解释: 在C++中,默认函数参数必须是常量吗?