1

私は非常に簡単なことをしようとしています。関数用のクラスと、関数クラスから派生した多項式用のクラスがあります。多項式では、*=演算子をオーバーロードしています。しかし、この演算子を呼び出すと、プログラムはコアをダンプしてクラッシュします。

Polynomial& Polynomial::operator*= (double c)
{
    for(int i = 0; i <= degree; i++)
        a[i] = a[i] * c;
return *this;
}

多項式クラスは、配列aの係数を保持します。aのインデックスは、その特定の係数のxの累乗に直接関係します。関数mainは定数cを渡し、それを各係数にで乗算します。

関数のプロトタイプは割り当ての一部であるか、変更します。リターンタイプに関して何か間違っていることがあると思います。どんな助けでも大歓迎です。

リクエストがあれば、さらにコードを提供したいと思います。

4

1 に答える 1

4

戻りタイプは問題ありません。問題はi <= degreeの代わりにあると思いi < degreeます。C++の配列は0ベースです。

編集:または、多項式との一貫性を維持したい場合は、配列に項目<=を割り当てる必要があります。degree+1

于 2012-11-29T21:52:16.117 に答える