class A
{
private:
int value;
public:
A(int n) { value = n; }
A(A other) { value = other.value; }
};
这种情况会出现什么问题?
编译器会发现
A(A other) { value = other.value; }
为复制构造函数,但是这里的参数也是A,我们知道A other 会去调用复制构造函数,这样就会出现自己调用自己的情况,会出现栈溢出的情况!
class A
{
private:
int value;
public:
A(int n) { value = n; }
A(A other) { value = other.value; }
};
这种情况会出现什么问题?
编译器会发现
A(A other) { value = other.value; }
为复制构造函数,但是这里的参数也是A,我们知道A other 会去调用复制构造函数,这样就会出现自己调用自己的情况,会出现栈溢出的情况!