可能重复:
非静态成员作为非静态成员函数的默认参数
好.所以我在理解如何完成看似简单的任务时遇到了问题......这就是我想要完成的事情:
#include <iostream>
using namespace std;
class A{
private:
int _x;
public:
A(int x){
_x = x;
}
void test(int x=_x){
cout << x << endl;
}
};
int main(){
A a(3);
a.test();
}
Run Code Online (Sandbox Code Playgroud)
编译器抱怨该int x=_x部分说error: invalid use of non-static data member A::_x
那么如何使用这样的默认参数呢?
谢谢.
Dan*_*ite 13
你不能这样做.
但是,您可以使用test不带参数的重载.
void test(){
test(_x);
}
Run Code Online (Sandbox Code Playgroud)