각 오브젝트의 멤버가 int 클래스 인 클래스 B에 오브젝트 v의 벡터 v가 있습니다. 나는 벡터 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());
}
그러나 나는 오류 : 어설 션 실패, deferencable하지 벡터 반복자를. int 반복자를 추가로 정의해야합니까? 원하는 기능을 구현하는 더 좋은 방법이 있습니까?
이 줄 오류 메시지는 무엇입니까? – RedX
만약'v'가 비어 있고'levels'이 비게되면'max_element'는'levels.end()'를 리턴합니까? – Mohammad
'max_element'는 어떻게 생겼습니까? –