diff --git a/zmq.hpp b/zmq.hpp index 69e5ced..de9e131 100644 --- a/zmq.hpp +++ b/zmq.hpp @@ -1022,12 +1022,7 @@ namespace zmq class poller_t { public: - poller_t () - { - if (!poller_ptr) - throw error_t (); - } - + poller_t () = default; ~poller_t () = default; poller_t(const poller_t&) = delete; @@ -1116,7 +1111,12 @@ namespace zmq private: std::unique_ptr> poller_ptr { - zmq_poller_new (), + []() { + auto poller_new = zmq_poller_new (); + if (poller_new) + return poller_new; + throw error_t (); + }(), [](void *ptr) { int rc = zmq_poller_destroy (&ptr); ZMQ_ASSERT (rc == 0);