使用std :: function和arguments进行回调

时间:2019-04-03 08:34:04

标签: c++ function std std-function

我尝试做一个路由器: router.get("/mypath", callback)

但是我对std::function<void(http::request_parser<http::empty_body>)>有一些疑问是来自野兽

struct Routes {
  typedef  std::function<void(http::request_parser<http::empty_body>)> handler;
};

void get(const std::string& ressource, Routes::handler handler);

router.get("/status", &api::test);

void api::test(http::request_parser<http::empty_body>)
{
    std::cout<<"hello"<<std::endl;
}

但是我不能调用void函数,我不知道为什么

1 个答案:

答案 0 :(得分:-1)

api::test具有2个参数,handler仅具有一个参数。

您需要通过binding参数“适应” ypur函数