У меня есть следующий фрагмент программы:
Polynomial Polynomial:: add(const Polynomial b)
{
Polynomial c;
c.setRoot(internalAdd(root, c.root));
c.setRoot(internalAdd(b.root, c.root));
return c;
}
c = (a.add(b));
, насколько я понимаю, этот код предполагает добавление a и b вместе, а затем присвоение результирующего многочлена c с помощью вызова конструктора копирования.
однако, когда я проверяю его,
- c сразу вызывает конструктор копирования и пытается скопировать b,
- , затем a и b добавить
- затем c пытается получить полученный полином с помощью оператора присваивания
- , затем происходит сбой программы
что я могу сделать, чтобы это исправить?