hi,
Within a class, I am trying to sort a vector, by passing a method of the same class. But it gives errors at the time of compilation. Can anyone tell what the problem is? Thank you!
it gives the following error:
    argument of type bool (Sorter::)(D&, D&)' does not matchbool (Sorter::*)(D&, D&)' 
I have also tried using sortBynumber(D const& d1, D const& d2)
#include<vector>
#include<stdio.h>
#include<iostream>
#include<algorithm>
class D {
      public:                   
             int getNumber();            
             D(int val);
             ~D(){};
      private:
              int num;
};
D::D(int val){
         num = val;
         };
int D::getNumber(){
    return num;
};
class Sorter {
      public:                   
             void doSorting();  
             bool sortByNumber(D& d1, D& d2);
             std::vector<D> vec_D;          
             Sorter();
             ~Sorter(){};
      private:
              int num;
};
Sorter::Sorter(){                 
        int i;
        for ( i = 0; i < 10; i++){
            vec_D.push_back(D(i));
           }
         };
bool Sorter::sortByNumber(D& d1, D& d2){
     return d1.getNumber() < d2.getNumber();
     };
void Sorter::doSorting(){
     std::sort(vec_D.begin(), vec_D.end(), this->sortByNumber);
     };
int main(){    
    Sorter s;
    s.doSorting();
    std::cout << "\nPress RETURN to continue...";
    std::cin.get();
    return 0;
}