2013-06-20 24 views

回答

4

因爲它會生成一個遞歸構造函數。當你通過值傳遞時,它需要在構造參數之前通過複製構造參數...其中調用test(test),這需要......你得到圖片。

您需要通過複製構造函數的引用傳遞:test(const test& rhs)

2

當您通過值傳遞參數時,它被複制。因此,對於通過值傳遞給拷貝構造函數的參數,它必須被複制。但是複製機制就是你正在定義的內容。那麼如何複製而不能複製?

你不能,因此複製構造函數不能接受值(因此test(const test& t)而不是test(test t))。

2

由於無限遞歸。您在構造函數中通過值傳遞原始對象,因此應該使用您調用的相同構造函數複製原始對象。