我正在编写一个自定义库采购PubSubClient。一切顺利,期待在我的库中集成回调函数。
我从 Arduino IDE 收到以下错误:
错误:没有匹配的函数用于调用 'PubSubClient::setCallback("<"unresolved 重载函数类型">")' 客户端 -> setCallback(callback);
...
Users/Mark/Documents/Arduino/libraries/PubSubClient/src/PubSubClient.h:121:18: 注意:PubSubClient& PubSubClient::setCallback(std::function) PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE);
在我的 xxx.h 文件中,我声明:
class Iotdevice {
private:
...
PubSubClient* client;
...
public:
...
void callback(char* topic, byte* payload, unsigned int length);
...
}
在我的 xxx.cpp 文件中,我定义了:
Iotdevice::Iotdevice() {
...
client = new PubSubClient(*espClient);
...
}
void Iotdevice::callback(char* topic, byte* payload, unsigned int length) {...}
,我打电话给:
void Iotdevice::setup() {
...
client -> setCallback(callback);
...
}
我已经尝试了很多变化,但我似乎无法解决它。谁能帮我吗?