Найти максимальное значение в векторе объектов

У меня есть вектор v объектов A в классе B, где каждый объект имеет член: уровень int. Я хочу найти максимальное значение уровня всех объектов в векторе v. Для этого я использую функцию:

int B::findMaxLevel()
{
vector<int> levels;
vector<A*>::iterator it;

for(it=v.begin();it!=v.end();++it)
{
    if(find(levels.begin(), levels.end(), (*it)->getLevel())!=levels.end())
        levels.push_back((*it)->getLevel());
}

return *max_element(levels.begin(), levels.end());

}

Однако я получаю сообщение об ошибке: Утверждение не выполнено, итератор вектора не может быть отложен. Должен ли я дополнительно определить итератор int? Есть ли лучший способ реализовать функцию, которую я хочу?

0
задан arjacsoh 25 June 2012 в 12:03
поделиться