尝试将实例传递到绑定的函数C
Trying to pass an instance to a bound function C++
这必须是简单的东西,但是我没有C 或界限。基本上我正在尝试这样做:
server.on("/capture", HTTP_GET, std::bind(&SolarCamera::serverCapture, this, server));
问题是当我使用server
实例参数时。没有该实例的其他类似绑定。
server
在此定义为一种受保护的方法。
//SolarServer.hpp
class SolarServer
{
public:
SolarServer(int port);
void startRouter();
protected:
ESP8266WebServer server;
};
//SolarServer.cpp
SolarServer::SolarServer(int port): server(port){}
void SolarServer::startRouter() {
//capture cam
server.on("/capture", HTTP_GET, std::bind(&SolarCamera::serverCapture, this, server));
...
我要做的就是将server
实例传递给SolarCamera类,以便我可以将相机流返回到该实例。相机界面就像这样
// SolarCamera.hpp
class SolarCamera
{
public:
SolarCamera();
void serverCapture(ESP8S266WebServer& server);
protected:
ArduCAM myCAM;
};
但是,编译器在方法调用时吹来并转储一个粗糙的日志:
error: pointer to member t
ype 'void (SolarCamera::)(ESP8266WebServer&)' incompatible with object type 'SolarServer'
error: return-statement wi
th a value, in function returning 'void' [-fpermissive]
在您的绑定语句中,您使用的是this
,它指向SolarServer
实例,但是,您要绑定到类型SolarCamera
的方法。您需要将其引用SolarCamera实例,而不是使用this
。
相关文章:
- 传递给 lambda C++绑定函数
- 是否可以将绑定函数存储在容器中?
- C++绑定函数到指针
- 我正在尝试制作一个在 std::bind 之前匹配的网络绑定函数
- 用emscripten中的参考参数绑定函数
- C++-模板函数接受绑定函数作为参数并将其传递给另一个函数
- 将绑定函数分配给 std::函数
- C++中的绑定函数结果
- 绑定函数而不提供参数类型
- std::bind 一个绑定函数
- 创建具有提升绑定/函数的菜单处理程序
- C++绑定函数以用作其他函数的参数
- C++ Boost::bind:指向绑定函数的指针只能用于调用该函数
- 如何指定可能接受 boost::绑定函数的 C++ 函数指针
- 指向绑定函数的指针只能用于调用该函数
- boost::spirit绑定函数,提供参数为spirit:qi::_val
- 套接字绑定函数编译错误
- 在绑定函数/使用lambdas测试消息传递代码时遇到麻烦
- 错误:指向绑定函数的指针只能用于调用该函数
- Windows套接字api绑定函数编译问题