0
Я получаю ошибку сегментации сообщения об ошибке для следующей функции. Мне было интересно, если кто-то могут помочь мне решить эту проблемуСообщение об ошибке C++
Polynomial Polynomial :: multiply(const Polynomial& p) const{
//The functions returns the mathematical product of the host polynomial and p
// new object created
Polynomial multiply;
// node that points to the beginning of the list
Node *temporary = m_head;
Node *copy = p.m_head;
long num_coeff;
unsigned int num_deg;
while(temporary -> m_next != NULL){
copy = p.m_head;
while(copy -> m_next != NULL){
Polynomial variable;
num_coeff = temporary -> m_coefficient * copy -> m_coefficient;
num_deg = temporary -> m_degree + copy -> m_degree;
variable.insertMonomial(num_coeff, num_deg);
multiply.add(variable);
copy = copy -> m_next;
}
temporary = temporary -> m_next;
}
return multiply;
}
где именно является встречающаяся ошибка сегментации? Вы уверены, что 'm_head' не является нулевым при входе в функцию? как насчет 'p.m_head'? – GreatAndPowerfulOz
Я бы просто использовал 'std :: vector', а не связанный список. И если вы чувствуете, что вам абсолютно необходимо использовать связанный список, то для вас есть 'std :: list'. Задача решена. –
Спасибо! Я инициализировал m_head как null в начале. – John