У меня есть класс с множеством
Код: Выделить всё
class AutoShop
{
string name;
string address;
int amountCarsSold;
double gainsMoney;
set<Manager> managerSet;
set<Client> clientSet;
set<AutoConfiguration> autoConfigurationSet;
...
}
Код: Выделить всё
class AutoConfiguration
{
int id;
...
}
Код: Выделить всё
template<class T> T& getObj(int _id)
{
set<T>::iterator iter;
iter=getSet<T>().begin();
while(iter!=getSet<T>().end())
{
if((*iter).getId()==_id)
return *iter;
iter++;
}
}
Код: Выделить всё
getObj<AutoConfiguration>(id);
Попытался вернуть итератор на объект, как в алгоритме find():
Код: Выделить всё
template<class inpIter, class T> inpIter getObj(const int _id)
{
set<T>::iterator iter;
iter=getSet<T>().begin();
while(iter!=getSet<T>().end())
{
if((*iter++).getId()==_id)
return iter;
}
}
Код: Выделить всё
set<AutoConfiguration>::iterator iter;
iter=getObj<set<AutoConfiguration>::iterator, AutoConfiguration>(id)
Код: Выделить всё
(*iter).addModification();
Можете объяснить почему this константный и как это исправить что бы я мог работать с объектом?