【发布时间】:2021-05-16 15:01:40
【问题描述】:
我目前正在为一个项目熟悉restbed,但一开始就遇到了问题。我承认这可能是一件非常微不足道的事情,但在当时对我来说仍然是个问题。
Restbed 服务需要一个 const 回调函数
void set_method_handler( const std::string& method, const std::function< void ( const std::shared_ptr< Session > ) >& callback );
问题是我想创建一个 REST 服务来从类对象获取一些数据。
标题
std::shared_ptr<restbed::Resource> REST_get_test;
static void get_test_handler(const std::shared_ptr< restbed::Session > session );
构造器
REST_get_test = std::make_shared< restbed::Resource >( );
REST_get_test->set_path( "/test" );
REST_get_test->set_method_handler( "GET", get_test_handler);
我调用的处理程序应该遍历一个结构(代码未完成,但足以说明问题)
void c_module_home::get_test_handler( const std::shared_ptr< restbed::Session > session )
{
QJsonObject status;
for (auto iter = cortexDrones.begin(); iter!= cortexDrones.end(); ++iter){
}
session->close( restbed::OK, "Hello, World!", { { "Content-Length", "13" }, { "Connection", "close" } } );
}
不出所料,我得到了一个:
error: invalid use of member 'project::c_module_home::cortexDrones' in static member function
有没有人建议如何处理?非常感谢!!
【问题讨论】:
-
你查看过 std::bind 吗?