私は関数を実装するために与えられました:
"static double distanta (const Complex&, const Complex&);"
2 つの複素数の間の距離を返します。関数の定義は Complex クラス内にあり、次のように実装しました。
double Complex::distanta(const Complex &a, const Complex &b)
{
double x = a.real() - b.real();
double y = a.imag() - b.imag();
return sqrt(x * x + y * y);
}
私の知る限り、静的関数は静的メンバーにのみアクセスでき、私のクラスには
double _re;
double _im;
データ メンバーとして。
メイン関数内で、次のように呼び出しました。
#include <iostream>
#include "complex.h"
using namespace std;
int main()
{
Complex* firstComplexNumber;
firstComplexNumber = new Complex(81, 93);
cout << "Numarul complex este: " << *firstComplexNumber << endl;
Complex* secondComplexNumber;
secondComplexNumber = new Complex(31, 19);
cout << "Distanta dintre cele doua numere" <<endl << endl;
Complex::distanta(firstComplexNumber, secondComplexNumber);
return 0;
}
私が得るエラーは次のとおりです。
エラー: 'Complex::distanta(Complex*&, Complex*&)' の呼び出しに一致する関数がありません
私が間違っていることを教えてください。ありがとう!