0

こんにちは、私は c++ に不慣れで、コードをコンパイルするたびに、かなりの量の行にエラー c2413 があると言い続けますが、明らかにそこにセミコロンがあります。これは通常、ex などを入力するたびに発生します。コンプレックス.リアル。あなたが私を助けてくれるかどうか疑問に思っていましたか?

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.cpp 1>c:\users\victor\documents\visual studio 2010\projects\complex数値計算機\複素数計算機\計算機.cpp(3): エラー C2143: 構文エラー: ';' がありません 「使用」する前に 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(57): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(57): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(58): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(58): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(64): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(64): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c:\users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(65): エラー C2143: 構文エラー: ';' がありません 前 '。' 1>c: \users\victor\documents\visual studio 2010\projects\complex number calculator\complex number calculator\complex.h(65): エラー C2143: 構文エラー: ';' がありません 前 '。' ========== ビルド: 0 成功、1 失敗、0 最新、0 スキップ ==========

4

1 に答える 1

6

そのため、いくつかのエラーがあります。1 つは、クラス定義の最後に;. また、次のように、いくつかの場所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ます。また、ゲッターで使用することも提案されましたconst。たとえば、次のようになります。

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

これは、オブジェクト変数を変更してはならないことがわかっているメソッドの場合に適しています。

于 2013-03-28T01:34:58.833 に答える