компилятор ругается. Как ее правильно переделать? Неужели придется в списке хранить указатели на MyClass и в случае пустого списка возвращать nullpointer?
std::optional
Бросать исключение, если список пустой
нельзя вернуть временный объект в качестве lvalue return MyClass() ;
return MyClass() ; Нельзя возвращать ссылку на временную переменную. Мало того, что переменная вот вот будет "убита", ещё и тип возврата у тебя -- MyClass & , на такую ссылку нельзя по стандарту биндить ссылку на временный объект, только на const MyClass & Так что либо возвращай по значению, либо кидай исключение если нет объекта.
Обсуждают сегодня