Я написал эти несколько строк:
#include <vector>
#include <algorithm>
#include <stdlib.h>
#include <time.h>
using namespace std;
template <class T> struct First
{
T num;
First() {}
First(const T &a) : num(a) {}
};
template <typename var> bool criterio(First<var> &primo, First<var> &secondo)
{
return (primo.num < secondo.num);
}
int main()
{
vector< First<int> > f;
srand (time(NULL));
for(int i=0; i<20; i++) f.push_back( First<int>(rand() % 20) );
sort(f.begin(),f.end(),criterio);
return 0;
}
Я компилирую с "g ++ program2.C" и отвечаю:
program2.C: в функции int main () ’:
program2.C: 28: ошибка: отсутствует функция сопоставления для вызова сортировки (__ gnu_cxx :: __ normal_iterator *, std :: vector, std :: allocator>>>, __gnu_cxx :: __ normal_iterator *, std :: vector, std :: allocator>>>, неразрешенный тип перегруженной функции) '
Понятия не имею, что это за проблема ... Вы можете мне помочь ??
спасибо за помощь ...