unção @compare para upper_bound / lower_bound

Quero encontrar o primeiro item em um vetor classificado que tenha um campo menor que algum valor x.
Preciso fornecer uma função de comparação que compare 'x' com o valor interno em MyClass, mas não consigo calcular a declaração da funçã
Não posso simplesmente sobrecarregar '<', mas como faço isso quando os argumentos são '& MyClass' e 'float'?

 float x;
 std::vector< MyClass >::iterator last = std::upper_bound(myClass.begin(),myClass.end(),x);

questionAnswers(3)

yourAnswerToTheQuestion