2

我正在编写一个自定义库采购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);
       ...
}

我已经尝试了很多变化,但我似乎无法解决它。谁能帮我吗?

4

0 回答 0