Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

I'm getting the "attempt to return dangling reference" error. What am I doing wrong?

Boost , Boost.Python , Chapter 4. Frequently Asked Questions (FAQs)

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Это исключение защищает вас от неприятной аварии. Обычно это происходит в ответ на такой код:

period const &get_floating_frequency() const
{
  return boost::python::call_method<period const &>(
    m_self,"get_floating_frequency");
}

И ты получаешь:

ReferenceError: Attempt to return dangling reference to object of type:
class period

В этом случае метод Python, на который ссылается<call_method>, создает новый объект Python. Вы пытаетесь вернуть ссылку на объект C++ (пример<classperiod>), содержащийся внутри и принадлежащий этому объекту Python. Поскольку названный метод возвращает совершенно новый объект, единственная ссылка на него сохраняется в течение<get_floating_frequency()>выше. Когда функция вернется, объект Python будет уничтожен, уничтожив экземпляр<class period>и оставив возвращенную ссылку висящей. Это уже неопределенное поведение, и если вы попытаетесь что-то сделать с этой ссылкой, вы, вероятно, вызовете сбой. Повышаю. Python обнаруживает эту ситуацию во время выполнения и делает исключение вместо того, чтобы позволить вам сделать это.


PrevUpHomeNext

Статья I'm getting the "attempt to return dangling reference" error. What am I doing wrong? раздела Boost.Python Chapter 4. Frequently Asked Questions (FAQs) может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Chapter 4. Frequently Asked Questions (FAQs) ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 22:57:17/0.0057871341705322/0