Ho provato e ho creato nel mio file.h la funzione bool
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include"immobile.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void crea ();
void salva ();
void esci ();
void open ();
void media ();
void cercaComune ();
void cercaTipo ();
void ordinamento ();
void visualizza ();
bool ordina(immobile a,immobile b);
private:
Ui::MainWindow *ui;
vector<immobile>immobili ;
};
poi sono andato nel file.cpp e ho implementato in questo modo
bool MainWindow::ordina(immobile a, immobile b)
{
return (a.getDimensione() () < b.getDimensione());
}
utilizzando poi la funzione sort sempre nel file.cpp
void MainWindow::ordinamento()
{
sort(immobili.begin(),immobili.end(),ordina);
}
ma mi da questo erraro che non riesco a capire
error: must use '.*' or '->*' to call pointer-to-member function in '((__gnu_cxx::__ops::_Iter_comp_iter<bool (MainWindow::*)(immobile, immobile)>*)this)->__gnu_cxx::__ops::_Iter_comp_iter<bool (MainWindow::*)(immobile, immobile)>::_M_comp (...)', e.g. '(... ->* ((__gnu_cxx::__ops::_Iter_comp_iter<bool (MainWindow::*)(immobile, immobile)>*)this)->__gnu_cxx::__ops::_Iter_comp_iter<bool (MainWindow::*)(immobile, immobile)>::_M_comp) (...)'
{ return bool(_M_comp(*__it1, *__it2)); }
^
^