diff --git a/zmq.hpp b/zmq.hpp index 58c688f..b59d41b 100644 --- a/zmq.hpp +++ b/zmq.hpp @@ -1868,7 +1868,11 @@ template class poller_t public: using event_type = poller_event; - poller_t() = default; + poller_t() : poller_ptr(zmq_poller_new()) + { + if (!poller_ptr) + throw error_t(); + } template< typename Dummy = void, @@ -1931,13 +1935,7 @@ template class poller_t } }; - std::unique_ptr poller_ptr{ - []() { - auto poller_new = zmq_poller_new(); - if (poller_new) - return poller_new; - throw error_t(); - }()}; + std::unique_ptr poller_ptr; void add_impl(zmq::socket_ref socket, event_flags events, T *user_data) {