Работа с STL. Проблема с передачей объектов по ссылке
/*не могу понять почему в свои некоторые предикаты компилятор позволяет
передавать ссылки. А в некоторые нет. Также не работает алгоритм transform ( выдает binary '=' : no operator found which takes a left-hand operand of type 'const Driver' (or there is no acceptable conversion)).Скидываю сюда заголовочный файл где объявлен класс Driver. И главный cpp. Буду очень благодарен за конструктивную критику и помощь.*/
//main.cpp
#include "Driver.h"
#include
#include
#include
#include
#include
#include
#include
#include
bool auto_predicate(Driver& a,Driver& b)
{
return a.number_of_autobus()>b.number_of_autobus();
}
bool travelling_predicate(Driver& a,Driver& b)
{
return a.number_of_travelling()>b.number_of_travelling();
}
void show_number_of_travel(Driver a)
{
cout<b.get_name();
}
};
int main()
{
ifstream file;
file.open("Drivers_info.txt");
vector myvector;
istream_iterator istiter(file);
istream_iterator end_of_file;
copy(istiter,end_of_file,back_inserter(myvector));
deque mydeque(myvector.begin(),myvector.end());
list mylist(myvector.begin(),myvector.end());
cout<<"Sorting according to the number of auto"< ostiter(cout,"\n");
copy(mylist.begin(),mylist.end(),ostiter);
cout<<"Sorting according to the travelling number"<(cout,"\n"));
set myset(mydeque.begin(),mydeque.end());
cout<<"Number of travel lists"<::iterator iter;
iter=myset.find(Mick);
if(iter!=myset.end())
{
myset.erase(iter);
cout<<"Set after removement of Mick"< new_set;
transform(myset.begin(),myset.end(),myset.begin(),bind2nd(ptr_fun(modify_name),"King"));