boost asio async_read_some函数中参数都是什么意思啊该怎么解决

boost asio async_read_some函数中参数都是什么意思啊?

currSock->async_read_some(buffer((void*)&head,sizeof(Header)),
bind(&client::read_head,this, placeholders::error, (void*)&head));


void read_head(const system::error_code &ec, void* headT)
{
if (ec)
{
return;
}
。。。。。。。。
}



bind函数中第一个表示回调函数,第二个和第三个表示什么意思?第四个是传给回调函数的一个指针。
我修改第二个参数为NULL——bind(&client::read_head,NULL, placeholders::error, (void*)&head)这样编译不通过,
改成bind(&client::read_head)这样去掉其他参数也不行。
------解决思路----------------------
第二个参数应该是哪个实例,这样就是会调用谁的回调函数