2013-06-20 198 views

ответ

4

Потому что он будет генерировать рекурсивный конструктор. Когда вы проходите по значению, ему нужно скопировать конструкцию параметра, прежде чем он пройдет ..., который вызывает test(test), которому необходимо ... вы получите изображение.

Вам необходимо передать ссылку для копирования: test(const test& rhs).

2

Когда вы передаете параметр по значению, он копируется. Поэтому для параметра, передаваемого по значению в конструктор копирования, он должен быть скопирован. Но механизм копирования - это то, что вы в середине определения. Итак, как вы копируете, не имея возможности копировать?

Вы не можете, поэтому конструктор копирования не может принять значение (следовательно, test(const test& t), а не test(test t)).

2

Из-за бесконечной рекурсии. Вы передаете исходный объект по значению в конструкторе, поэтому его нужно скопировать с использованием того же самого конструктора, который вы вызываете.

Смежные вопросы