请教代码里引用的值为什么没被修改
void print(const boost::system::error_code& /*e*/, boost::asio::deadline_timer* dt_ptr, int& count){ if (count < 5) { std::cout << count << " " << std::endl; ++count; dt_ptr->expires_at(dt_ptr->expires_at() + boost::posix_time::seconds(1)); dt_ptr->async_wait(boost::bind(print, boost::asio::placeholders::error, dt_ptr, count)); }}int main(){ boost::asio::io_service io_ser; int count = 0; boost::asio::deadline_timer dt(io_ser, boost::posix_time::seconds(1)); dt.async_wait(boost::bind(&print, boost::asio::placeholders::error, &dt, count)); io_ser.run(); std::cout << "final count is " << count << " "; // 这里输出还是0,为什么呢 return 0;}