C
Crazy c
I have hit an error that I do not understand. That is one thing about
Dev that I do not like, I cannot understand the errors. There should
be a course in Dev errors. It is pretty straightforward; I am checking
that the real and imginary parts of a Complex Number are not equal to
0 (division). In (a,b)/(c,d), if c && d = 0; I want to display an
error message and return to the program.
ComplexNumber &ComplexNumber :: operator/ (const ComplexNumber & c1)
{
//check for c & d = 0
if (c1.getReal()== 0 && c1.getImag()== 0) {
cout << "The Complex Number used for your
denominator cannot contain 0 for the real AND
the imaginary part" << endl;
return 1;// this generates the error
}
ComplexNumber complxSum;
double s;
//for s
s = ((this -> getImag() * this -> getImag()) +
(c1.getImag() * c1.getImag()));
//divide
complxSum.setReal ( ((c1.getReal() * this -> getReal())
+ (c1.getImag() * this -> getImag())) /s);
complxSum.setImag ( ((c1.getReal() * this -> getImag())
- (c1.getImag() * this -> getReal())) /s);
return complxSum;
}//end operator/
//error from Dev
102 C:\Documents and Settings\cbrown\My Documents\DSCmplxNum
\ComplexNumber.cpp invalid initialization of non-const reference of
type 'ComplexNumber&' from a temporary of type 'int'
Any ideas as to why the return does not work or what the error
designates?
Thanks!!
PS - This is the first time I've posted code, so please go easy on
pointing out mistakes
Dev that I do not like, I cannot understand the errors. There should
be a course in Dev errors. It is pretty straightforward; I am checking
that the real and imginary parts of a Complex Number are not equal to
0 (division). In (a,b)/(c,d), if c && d = 0; I want to display an
error message and return to the program.
ComplexNumber &ComplexNumber :: operator/ (const ComplexNumber & c1)
{
//check for c & d = 0
if (c1.getReal()== 0 && c1.getImag()== 0) {
cout << "The Complex Number used for your
denominator cannot contain 0 for the real AND
the imaginary part" << endl;
return 1;// this generates the error
}
ComplexNumber complxSum;
double s;
//for s
s = ((this -> getImag() * this -> getImag()) +
(c1.getImag() * c1.getImag()));
//divide
complxSum.setReal ( ((c1.getReal() * this -> getReal())
+ (c1.getImag() * this -> getImag())) /s);
complxSum.setImag ( ((c1.getReal() * this -> getImag())
- (c1.getImag() * this -> getReal())) /s);
return complxSum;
}//end operator/
//error from Dev
102 C:\Documents and Settings\cbrown\My Documents\DSCmplxNum
\ComplexNumber.cpp invalid initialization of non-const reference of
type 'ComplexNumber&' from a temporary of type 'int'
Any ideas as to why the return does not work or what the error
designates?
Thanks!!
PS - This is the first time I've posted code, so please go easy on
pointing out mistakes