AMDG Pearl Rothman wrote:
I am using Fedora 9, gcc 4.3.0, and boost 1.38.0.
I get the following error when calling the destroyMessage function.
boost/intrusive/detail/utilities.hpp:421: void boost::intrusive::detail::destructor_impl(Hook&, boost::intrusive::detail::link_dispatch<safe_link>) [with Hook = boost::intrusive::detail::generic_hook<boost::intrusive::get_list_node_algo<void*>, boost::intrusive::default_tag, safe_link, 1>]: Assertion `!hook.is_linked()' failed.
<snip> virtual void destroyMessage( Message* msg ) { MessageHook hook(msg); m_message_list.push_back( hook ); }
Boost.Intrusive expects you to manage the memory for the nodes. When the function returns, m_message_list will be left with a dangling pointer to hook, hence the assertion. In Christ, Steven Watanabe