我已经摸索出了复杂的类如下:为什么我不能在复制构造函数中使用getter?
class Complex{
public:
Complex(const Complex &);
double getRreal(){
return real;
}
private:
double real, img;
};
Complex::Complex(const Complex &Z){
real = Z.getReal();
}
然而,编译器给我一个错误:
passing ‘const Complex’ as ‘this’ argument of ‘double Complex::getReal()’ discards qualifiers
这个错误是什么意思?
顺便说一句,我知道我可以简单地使用
real = Z.real;
复制的实部“这个”从Z,但我认为这是有线的,因为我可以访问和修改的私人数据输入对象“Z”。虽然对象Z也是类“Complex”的一个实例,但在这里我们并没有实际针对Z的“做某事”。Z仅仅是函数为对象“this”做某事的一个参数。它安全吗?
我不是母语的人。对不起,我英文很差。
update'double getRreal()'to'double getRreal()const' – billz