我有以下程序片段:
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。
然而,当我实际测试它时,
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
Polynomial Polynomial::add(const Polynomial& b)
^
如果您不希望复制参数,请将其作为参考传递给上面。
这可能无法解决你的崩溃问题 - 如果没有更多的代码(以及一些调试就可以找到它),无法告诉导致这种情况的原因,但它将不再需要复制构造Polynomial参数