在boost :: signals2中混合使用boost智能指针和C++ 11智能指针

OMG*_*chy 7 c++ boost c++11

我有一个用于boost::signals2组件之间通信的应用程序.我正在尝试使用它的自动连接管理功能slot_type(...).track(weak_ptr).

问题:

在我的整个程序中,std::shared_ptr使用..track期待一个boost::weak_ptr,我提供一个std::weak_ptr.

这是我得到的确切错误:

cannot convert argument 1 from 'std::weak_ptr<_Ty>' to 'const boost::weak_ptr<void> &'
Run Code Online (Sandbox Code Playgroud)

这有解决方法吗?或者我误解了这个问题?

OMG*_*chy 8

我找到了一个解决方案,而.track_foreign不是使用它.track.它允许使用C++ 11智能指针代替boost智能指针.