5
我正在使用boost的共享指針,並且使用enable_shared_from_this
來啓用共享指針。代碼如下所示:boost_ptr_cast in shared_from_this()
class foo : public boost::enable_shared_from_this<foo>
{
boost::shared_ptr<foo> get()
{
return shared_from_this();
}
}
爲什麼shared_from_this會拋出weak_ptr_cast異常?
從構造函數調用`shared_from_this()`可能是* shared_from_this()失敗的原因(我的意思是開發時,而不是生產代碼)。不幸的是,最好的(唯一的?)解決方案似乎是使用兩階段結構(所有它的缺點)。 – 2011-04-15 12:52:46