Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   [Решено] std::sort (predicate) (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/resheno-std-sort-predicate-354185/)

Guest 30.09.2011 17:33

[Решено] std::sort (predicate)
 
Добрый деньНадо сортировать указатели, определять < для указателей стремно, поэтому решил прорваться через предикат. Фрагмент ниже работаетКод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 просто для примера. Как выкрутиться?Спасибо


Часовой пояс GMT, время: 10:44.


© www.otvetnemail.ru - Форум вопросов и ответов.