我无法使用 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;
}
我很清楚第 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;
}