C++において、複素数クラスを用いてニュートン法を実行し、代数方程式の複素解を求めたい。
C++言語を学び始めたばかりで、基本的な複素計算に躓いています。
発生している問題・エラーメッセージ
何度か試行錯誤した結果、以下のようなエラーが出てしまいました。原因もわかりません。
newcomp.cpp:4:7: error: expected identifier before '_Complex'
class complex {
^
newcomp.cpp:4:15: error: expected unqualified-id before '{' token
class complex {
^
該当のソースコード
class complex {
public:
double re, im;
complex(double r = 0.0, double i = 0.0)
{
re = r; im = i;
}
};
complex operator+(const complex& a, const complex& b)
{
return complex(a.re + b.re, a.im + b.im);
}
complex operator-(const complex& a, const complex& b)
{
return complex(a.re - b.re, a.im - b.im);
}
complex operator*(const complex& a, const complex& b)
{
return complex(a.re * b.re - a.im * b.im, a.re * b.im + a.im * b.re);
}
complex operator/(const complex& a, const complex& b)
{
double d = b.re * b.re + b.im * b.im;
return complex((a.re * b.re + a.im * b.im) / d, (a.im * b.re - a.re * b.im) / d);
}
double fabs(const complex& a)
{
return sqrt(a.re * a.re + a.im * a.im);
}
回答1件
あなたの回答
tips
プレビュー