Проблема с указателем переноса сигнала/слота - qt
Я столкнулся с ошибкой при подключении сигнала к слоту в моем проекте, это:
<pre>error: no matching function for call to ‘QObject::connect(A&, const char [12], Handler&, const char [12])
Мой проект довольно большой, и я не могу опубликовать здесь весь код целиком, но то, что я сделал, это:
У меня есть класс A, который динамически выделяет экземпляр класса B при вызове метода и излучает сигнал, несущий экземпляр B.
В другом классе с именем handler у меня есть слот, который получает объект типа B.
И в основной функции я соединяю их вот так:
подключить(а, сигнал(поменяли(Б*)), обработчик, слот(процесс(Б*)));
Я сделал аналогичную небольшую программу, которая выдает эту ошибку, был бы рад, если бы вы взглянули: здесь
Заранее спасибо.
Что я уже пробовал:
#include <QObject> #include <QDebug> #include <QCoreApplication> class A : public QObject { Q_OBJECT public: void set(int v) { b = new B(v); emit wasSet(b); } signals: void wasSet(B *b); private: B *b; }; class B { public: B(int v) { qDebug() << v; qDebug() << "Initialized."; } }; class Handler : public QObject { Q_OBJECT public slots: void handle(B *b) { qDebug() << "Object handled."; } }; int main(int argc, char* argv[]) { QCoreApplication app(argc, argv); A a; Handler h; QObject::connect(a, SIGNAL(wasSet(B*)), h, SLOT(handle(B*))); a.set(12); return app.exec(); }