#include #include void f(uvw::Loop &loop) { uvw::Handle handle = loop.handle(); auto cb = [handle](uvw::UVWError err) mutable { std::cout << "---" << ((bool)err) << std::endl; uvw::Tcp &tcp = handle; tcp.close([handle](uvw::UVWError err) mutable { std::cout << "---" << ((bool)err) << std::endl; handle = uvw::Handle{}; }); }; uvw::Tcp &tcp = handle; tcp.connect(std::string{"127.0.0.1"}, 80, cb); } void g() { auto loop = uvw::Loop::getDefault(); f(*loop); loop->run(); loop = nullptr; } int main() { g(); }