我正在尝试使用boost的高分辨率计时器并得到编译错误。请在下面找到代码段,

boost::asio::io_service             _svc;
boost::asio::high_resolution_timer  _timer(_svc, boost::chrono::seconds(1));

错误:

最佳答案

如果有的话,高分辨率计时器显然在后台使用C++ 11的chrono库:boost/asio/high_resolution_timer.hpp第48行

#elif defined(BOOST_ASIO_HAS_STD_CHRONO)
typedef basic_waitable_timer<
    std::chrono::high_resolution_clock>
  high_resolution_timer;

Live On Coliru
#include <boost/asio.hpp>
#include <boost/asio/high_resolution_timer.hpp>

int main() {
    boost::asio::io_service             _svc;
    boost::asio::high_resolution_timer  _timer(_svc);

    _timer.expires_from_now(std::chrono::milliseconds(100));
}

08-27 18:31
查看更多