Поскольку вы пытаетесь сохранить ссылку на временный объект, и вы можете хранить только постоянные ссылки на временные объекты.
Когда вы пытаетесь инициализировать ссылку member
типа ClassA&
с параметром integer
типа int
, конструктор неявного преобразования ClassA::ClassA(int integer)
запрашивает создание неназванного временного объекта типа ClassA
из переменной integer
. Этот безымянный временный объект затем используется для инициализации ссылки member
, создавая ссылку на временный объект, который должен быть постоянным.
Я подвергаю сомнению ваш дизайн здесь. Если вы пытаетесь инициализировать member
с данными, передаваемыми по значению конструктору ClassB
, иметь ссылку member
в качестве ссылки, вероятно, неправильно. Как вы думаете, почему member
должен быть ссылкой, а не просто объектом?