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

问题描述 投票:-2回答:1

我尝试做一个路由器: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函数,我不知道为什么

c++ function std std-function
1个回答
-1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.