[英]Copy constructor and assignment operator both get called
我有以下程序片段:
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。
但是,當我實際測試時,
我該怎么解決?
Polynomial Polynomial::add(const Polynomial& b)
^
如果您不希望復制該參數,請像上面一樣將其作為參考傳遞。
這可能不會解決您的崩潰問題-如果沒有更多的代碼(也無法進行一些調試以查明原因),就無法說出是什么原因導致的崩潰,但是它將消除對復制構造多項式參數的需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.