我已经为Mqtt PubSubClient编写了一个包装器类,以包装PubSubClient和WifiManager库的功能。
我想在初始化Mqtt客户端连接时将回调传递给mqtt客户端,但这对我不起作用:
this->client->setCallback(&this->mqttCallback);
在MyMqtt类中有什么方法可以引用mqttCallback函数吗?
class MyMqtt
{
public:
MyMqtt(char *device_type, int version, int status_led);
void mqttCallback(char *topic, byte *payload, unsigned int length);
PubSubClient* client;
}
我可以成功引用全局函数
this->client->setCallback(mqttCallbackGlobal);
...
void mqttCallbackGlobal(char *topic, byte *payload, unsigned int length)
{
}
但是我不能引用MyMqtt类的实例。