Добрый деньНадо сортировать указатели, определять < для указателей стремно, поэтому решил прорваться через предикат. Фрагмент ниже работаетКодC++ (Qt)bool Comp( int * i1, int * i2 ){return *i1 > *i2;}/*bool Comp( float * f1, float * f2 ){ return *f1 > *f2;}*/template struct MyClass {void SortData( void ){ std::sort(mData.begin(), mData.end(), Comp);} std::vector mData;};int main(int argc, char *argv[]){ MyClass test; test.SortData();// MyClass test2;// test2.SortData();return 0;}Однако если создать еще 1 template класс (раскомментировать части выше) то отсыпает ошибкуЦитироватьerror: no matching function for call to 'sort(__gnu_cxx::__normal_iterator, __gnu_cxx::__normal_iterator, )'Ну и конечно int и float просто для примера. Как выкрутиться?Спасибо
|