Ce code contient une erreur.C++ - Quelle est la différence entre utiliser et ne pas utiliser const dans Copy Constructor?
[Error] no matching function for call to Complex::Complex(Complex)
Mais lorsque ce code écrire que Complex(const Complex & newComplex)
,
utiliser juste const, ce code fonctionne très bien.
pourquoi? Je ne sais pas pourquoi. S'il vous plaît dites-moi la réponse.
#include <iostream>
using namespace std;
class Complex {
double re, im;
public:
Complex(double _re = 0, double _im = 0): re(_re), im(_im) {}
Complex(Complex & newComplex) {
re = newComplex.re;
im = newComplex.im;
}
~Complex() {}
Complex operator + (Complex & inputComplex) {
Complex tempComplex;
tempComplex.re = re + inputComplex.re;
tempComplex.im = im + inputComplex.im;
return tempComplex;
}
};
int main()
{
Complex c1(1, 0), c2(2, 1);
Complex c3(c1 + c2);
}