【发布时间】:2014-03-06 16:00:31
【问题描述】:
我目前正在尝试了解 boost::asio-API。在我的一个课程中,我使用 boost::shared_ptr 以这种方式引用 io_service:
class myClass : public boost::asio::serial_port
{
public:
myClass(std::string Port);
private:
boost::shared_ptr<boost::asio::io_Service> _io_service_ptr;
};
据此实现的是:
myClass::myClass(std::string Port) : _io_service_ptr(new boost::asio::io_service),
boost::asio::serial_port(*_io_service_ptr, Port)
{
//do stuff
}
当我这样做时,我收到错误:断言失败!像素!= 0 [...]
当对其他 boost::asio 对象(如 boost::asio::io_service::work(service))使用相同的模式时,它可以正常工作。我对 io_service 做错了什么?
【问题讨论】:
标签: c++ boost shared-ptr assertion