Chinaunix
标题:
请教代码里引用的值为什么没被修改
[打印本页]
作者:
tweyseo
时间:
2011-11-30 09:26
标题:
请教代码里引用的值为什么没被修改
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;
}
复制代码
求解释
作者:
tweyseo
时间:
2011-11-30 09:47
大家帮帮忙呀
作者:
hellioncu
时间:
2011-11-30 09:52
不懂boost,我猜问题出在boost::bind(&print, boost::asio::placeholders::error, &dt, count)
作者:
tweyseo
时间:
2011-11-30 14:06
大家懂得帮看看呀
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2