no matching function for call to 'MainWindow::connect();

238
28 октября 2017, 17:16

Есть кнопка в ob_panel.ui - on_pB_Switch_clicked и элемент в mainwindow.ui - MapToolKit. Пытаюсь при нажатии на кнопку в ob_panel.ui скрыть элемент находящийся в mainwindow.ui.

MainWindow.cpp

connect(&Ob_Panel, &ob_panel::on_pB_Switch_clicked, this, &MainWindow::switchVideoMap);
void MainWindow::switchVideoMap(){
    ui->MapToolKit->hide();
}

MainWindow.h

#include <ob_panel.h>
private slots:
   void switchVideoMap();
private:
   ob_panel *Ob_Panel

ob_panel.cpp

void ob_panel::on_pB_Switch_clicked(){
}

ob_panel.h

public:
  void on_pB_Switch_clicked();

При компиляции вылетает ошибка

../mainwindow.cpp:52: error: no matching function for call to 'MainWindow::connect(ob_panel**, void (ob_panel::*)(), MainWindow* const, void (MainWindow::*)())'
     connect(&Ob_Panel, &ob_panel::on_pB_Switch_clicked, this, &MainWindow::switchVideoMap);
                                                                                          ^
Answer 1

Ob_Panel у вас и так указатель, брать у него адрес в connect не нужно

connect(Ob_Panel, &ob_panel::on_pB_Switch_clicked, this, &MainWindow::switchVideoMap);
READ ALSO
Вывод символов с нижним регистром и верхним регистром

Вывод символов с нижним регистром и верхним регистром

Стоит задача, водится строка, при выводе должно быть две строки, одна выводит символы только верхнего регистра, вторая только нижнегоНачал...

497
Почему typeid печатает неверный тип?

Почему typeid печатает неверный тип?

Изучаю вывод типов в С++, и использую метод name() класса std::type_info, для печати типа, который имеет переменная:

245
Смена компилятора в CLion

Смена компилятора в CLion

Установил g++ через brew install gcc путь до него /usr/local/bin/g++-7, но CLion использует этот /Applications/Xcodeapp/Contents/Developer/Toolchains/XcodeDefault

225