Что вы действительно хотите сделать, это что-то вроде следующего (см. Код). Объекты Const инициализируются при создании. Некоторые компиляторы понимают, что вы пытаетесь сделать, и не жалуетесь на эту форму назначения.
SomeType const& obj(*LIB_CreateSomething());
Как правило, в C++ вы бы этого не сделали.
Одна из причин заключается в том, что «сырые» (голые) указатели на самом деле нахмурились, когда вы являетесь владельцем. Если это не принадлежит вам, тогда стилистически нет ничего плохого в использовании указателя.
Другим является то, что указатель может быть пустым и отличать NULL непосредственно к ссылке, что делает ссылку непригодной для использования.
Как уже упоминалось в другом комментарии, вы действительно можете быть владельцем, и в этом случае вам следует управлять памятью. Вы не можете сделать это со ссылкой.
Проверьте, что указатель сначала не пуст. –
Что вы надеетесь получить, сделав это? –
@MikelF Не знаю, мой вопрос действительно есть * это * основной. – UghSegment