我无法使用 class 变量作为相同 class 函数的默认参数

I am unable to use a class variable as a default argument for the same class's function

我很清楚第 7 行无效。但我想使用 class 变量作为 method(apple) 的默认参数。

class trial{

public:

int i=10 ;

    void apple(int i=this.i){
       cout<<i<<endl;
    }

    void display(){
         cout<<i<<endl;
    }
};

替换

void apple(int i=this.i){
     cout<<i<<endl;
}

…与

void apple(int i){
     cout<<i<<endl;
}

void apple(){
     apple(i);
}

您不能访问函数形式参数列表中的成员变量。

您不能这样设置默认值。 如果你想显示你的对象的变量 insted 函数的同名参数使用:

void apple(int i){
     // class member
     cout << this.i << endl;
     // function variable
     cout << i << endl;
}