没有 gloox::ChatStateFilter::ChatStateFilter() 的匹配函数

No matching function to gloox::ChatStateFilter::ChatStateFilter()

尽管使用文档和示例中定义的实现,但我仍收到标题中的错误。我不确定出了什么问题。还有一个额外的错误,No matching function for call to gloox::MessageEventFilter::MessageEventFilter() 也试图使用 object。我的代码示例如下:

class TuiHangouts : public ConnectionListener, LogHandler, MessageSessionHandler, MessageHandler,
    MessageEventHandler, ChatStateHandler, RosterListener, EventHandler, ChatStateFilter,
    MessageEventFilter
{
public:
    TuiHangouts();
    virtual ~TuiHangouts();
}

并且在 *.cpp 文件中:

GekkoFyre::TuiHangouts::TuiHangouts() : m_session(0), m_messageEventFilter(0), m_chatStateFilter(0)
{}

如有任何帮助,我们将不胜感激,谢谢。正如您可能已经猜到的那样,我试图在我的项目中实施的库是 gloox 库。如果有帮助就在这里提一下。

请注意,虽然我是一个不错的编码员,但我没有受过正规教育,而且这些程序员使用的许多术语对我来说都是无法理解的。请记住这一点:)

正如您从 their reference 中看到的那样 ChatStateFilter 不提供默认构造函数而只提供

ChatStateFilter (MessageSession *parent);

由于您继承了 class,您需要调用成员初始化列表中的构造函数:

GekkoFyre::TuiHangouts::TuiHangouts() : ChatStateFilter(&m_session), // ...
{}