这是我第一次在C++中使用lambda函数,我需要传递一个值来在lambda函数体内使用:
在上面的代码中我需要传递int参数seq_msg:
void do_connect(tcp::resolver::iterator endpoint_iterator, int seq_msg)
{
boost::asio::async_connect(socket_, endpoint_iterator, [this](boost::system::error_code ec, tcp::resolver::iterator)
{
if (!ec)
{
send_message(seq_msg);
do_read_header();
}
});
}
Run Code Online (Sandbox Code Playgroud)
我想你应该按价值和变化来捕捉它:
[this]
Run Code Online (Sandbox Code Playgroud)
至:
[this, seq_msg]
Run Code Online (Sandbox Code Playgroud)