В настоящее время я пытаюсь понять 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
}
Когда я это делаю, я получаю сообщение об ошибке: Утверждение не удалось! px != 0 [...]
При использовании того же шаблона для других объектов boost::asio (например, boost::asio::io_service::work(service)) он работает нормально. Что я сделал не так с io_service?