+ -
当前位置:首页 → 问答吧 → 请教代码里引用的值为什么没被修改

请教代码里引用的值为什么没被修改

时间:2011-11-29

来源:互联网

C/C++ code
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;
}

作者: tweyseozero   发布时间: 2011-11-29

你也没调用print那个函数啊

作者: quwei197874   发布时间: 2011-11-29

你没有调用函数啊 当然不会改变啊 你要调用函数才会改变啊

作者: hnuqinhuan   发布时间: 2011-11-29

引用 1 楼 quwei197874 的回复:
你也没调用print那个函数啊


++

作者: modicum_ck   发布时间: 2011-11-29