我有一個相當大的遺留應用程序,它只使用普通的指針。 現在我正在添加一個新模塊,試圖使用「更現代的東西」,例如聰明的指針。當使用指針和shared_pointer時刪除訪問衝突
主模塊發送在通信DLL消息給我的新子模塊(與正常指針)。 在我的新子模塊中,我使用shared_pointer進行消息處理。 當共享指針嘗試刪除指針時,由於VTable指針是0xdddddddd,所以在該消息的解析器中出現訪問衝突。我已經找到this SO question,其中說這是因爲指針已經被釋放。
似乎主模塊已經刪除正常指針,前共享指針刪除它。
我不想在舊的主模塊中使用共享指針(在這一點上會非常重構),但是有沒有解決方法,我如何在我的應用程序中使用普通指針和共享指針? 在析構函數中通常的NULL檢查並沒有幫助。
這幫助我瞭解了改進我們的舊版應用程序時該怎麼做。但是,我縮小了問題範圍,似乎在我的子模塊 – Simon 2012-01-27 11:41:26
@Simon中存在問題:沒問題。祝你好運:) – 2012-01-27 15:40:48