复数简单错误

Complex number simple error

本文关键字:错误 简单      更新时间:2023-10-16

嘿,伙计们,我是c++的新手,每次我编译我的代码时,它总是说我在很多行上有一个errorc2413,但我显然在那里有一个分号。每当我输入诸如ex. Complex.real之类的东西时,就会出现这种情况。我在想你能不能帮我个忙?

using namespace std;
#include <iostream>
class Complex
{ 
private:
        double real;
      double imaginary;
public:
Complex()
{
    real = 0.0;
    imaginary = 0.0;
}
Complex(double r, double i)
{
    real = r;
    imaginary= i;
}
//Setters
void setReal(double r)
{
    real = r;
}
void setImaginary(double i)
{
    imaginary = i;
}
//Getters
double getReal()
{
    return real;
}// end getReal
double getImaginary()
{
    return imaginary;
}//end of getImaginary()
void output()
{
    cout<< real <<" + i"<< imaginary; 
}
Complex add(Complex a)
{
    Complex result;
    result.real= a.real + real;
    result.imaginary = a.imaginary+imaginary;
    return result;
}
Complex subtract(Complex a)
{
    Complex result;
    Complex.real = (real - a.real);
    Complex.imaginary = (imaginary - a.imaginary);
    return result;
}
Complex mul(Complex a)
{
    Complex result;
    Complex.real = (real*a.real)-(imaginary*a.imaginary);
    Complex.imaginary = (real*a.imaginary)+(imaginary*a.real);
    return result;
}
Complex div(Complex a)
{
    Complex result;
    result.real = 
    ((real*a.real)+(imaginary*a.imaginary))/((a.real*a.real)+(a.imaginary+a.imaginary));
    result.imaginary = 
        ((imaginary*a.real)-(real*a.imaginary))/((a.real*a.real)+(a.imaginary+a.imaginary));
    return result;
}
}//end complex class

1>------构建开始:项目:复数计算器,配置:调试Win32 ------1> Calculator.cpp1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器calculator.cpp(3):错误C2143:语法错误:在"using"之前缺少";"1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(57):错误C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(57):错误C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(58):错误C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(58):错误C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(64): error C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(64): error C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(65):错误C2143:语法错误:缺少';' before '.'1>c:usersvictordocumentsvisual studio 2010projects复数计算器复数计算器complex.h(65):错误C2143:语法错误:缺少';' before '.'========== 构建:0成功,1失败,最新的,0跳过 ==========

所以有几个错误,一个类定义的结尾需要一个;。在一些地方,Complex看起来也取代了result,例如:

Complex mul(Complex a)
{
    Complex result;
    Complex.real = (real*a.real)-(imaginary*a.imaginary);
    Complex.imaginary = (real*a.imaginary)+(imaginary*a.real);
    return result;
}

看起来应该是:

Complex mul(Complex a)
{
    Complex result;
    result.real = (real*a.real)-(imaginary*a.imaginary);
    result.imaginary = (real*a.imaginary)+(imaginary*a.real);
    return result;
}

一旦我修复了上面的问题,它看起来编译得很好。函数subtract也有与mul相同的问题。还建议在getter上使用const,例如:

double getReal() const
{                ^^^^^
    return real;
}