迭代乘法时核心转储

Core Dumped While Multiplying Iteratively

本文关键字:核心 转储 迭代      更新时间:2023-10-16

我正在尝试做一些非常简单的事情。我有一个函数类,还有一个从函数类派生的多项式类。 在多项式中,我重载了 *= 运算符。 但是,当我调用这个运算符时,程序会转储核心并崩溃。

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

多项式类在数组 a 中保存系数。a 的指数直接关系到该特定系数的 x 的幂。 函数主要为我们提供了常数 c,然后将每个系数乘以该系数。

函数的原型是作业的一部分,或者我会更改它。 我假设我在返回类型方面做错了什么。 任何帮助,不胜感激。

如果需要,我愿意提供更多代码。

返回

类型很好,我猜问题是i <= degree而不是i < degree.C++中的数组从 0 开始。

编辑:或者,也许您想将其保留为<=以与多项式保持一致,在这种情况下,您需要为数组分配degree+1项。