亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 一個(gè)智能指針shared_ptr錯(cuò)誤問(wèn)題 [打印本頁(yè)]

作者: int-main    時(shí)間: 2011-08-20 11:18
標(biāo)題: 一個(gè)智能指針shared_ptr錯(cuò)誤問(wèn)題
我使用dllopen動(dòng)態(tài)加載一個(gè)庫(kù)時(shí),引用了一個(gè)智能指針,結(jié)果極少概率出現(xiàn)
  1. T* boost::shared_ptr<T>::operator->() const [with T = UserInfo]: Assertion `px != 0' failed.
復(fù)制代碼
這個(gè)意味著shared_ptr中的對(duì)象已經(jīng)被銷(xiāo)毀了,為什么會(huì)這樣呢?

是不是不能在使用動(dòng)態(tài)庫(kù)時(shí)又使用引用 ?



extern "C"
{
    void Enter(const boost::shared_ptr<UserInfo>&Handler)
    {
        OnMessage(Handler);
    }
}
作者: int-main    時(shí)間: 2011-08-20 15:24
貼gdb內(nèi)容

  1. #0  0x0000003dcec30265 in raise () from /lib64/libc.so.6
  2. #1  0x0000003dcec31d10 in abort () from /lib64/libc.so.6
  3. #2  0x0000003dcec296e6 in __assert_fail () from /lib64/libc.so.6
  4. #3  0x000000000049ae9f in boost::shared_ptr<Games>::operator->() const ()
  5. #4  0x000000000047ba7a in Group::AddGroup(boost::shared_ptr<UserInfo>, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
  6. #5  0x00002aaab06a7e75 in MyMsg::OnMessage (this=0x448e640, handler=..., msg=...) at my_msg.cpp:78
  7. #6  0x00002aaab068f443 in Enter (Handler=..., str=...) at my_msg.cpp:390
  8. .........................
復(fù)制代碼

作者: 雨過(guò)白鷺洲    時(shí)間: 2011-08-20 15:48
extern "C"

然后又是C++,這個(gè)行嗎?
作者: int-main    時(shí)間: 2011-08-20 22:42
extern "C"

然后又是C++,這個(gè)行嗎?
雨過(guò)白鷺洲 發(fā)表于 2011-08-20 15:48



   
行的,謝謝。

問(wèn)題找到了,是因?yàn)槟承l件跳過(guò)了實(shí)例化,而直接使用了空智能指針。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2