Без дополнительного контекста из-за ошибки компилятора я не могу быть уверен, но обычно это ошибка, которую вы получаете, если вы пытаетесь объявить функцию как имеющую аргумент некоторого типа, который не находится в области видимости или не былобъявлен.Вы #include <vector>
на вершине своей программы?Если вы это сделали, можете ли вы попробовать переписать функцию как
template <typename Object,typename Comparator>
const Object & findMax(const std::vector<Object> &a, Comparator comp){
int maxIndex = 0;
for(int i = 1; i < a.size(); i++){
if(comp.isLessThan(a[maxIndex], a[i]))
maxIndex = i;
}
return a[maxIndex];
}
, чтобы явно использовать полное имя vector
?Это может решить вашу проблему.
Надеюсь, это поможет!