What does lower_bound mean. If I had to guess I would answer that this function returns the iterator at the last element that is less than the value asked for. But I see tha
Auch!
Did you change the original code or is the copy-paste error in there since day one?
float operator()(double f) { SpectrumPoint* l=std::lower_bound//... ... SpectrumPoint* u=std::lower_bound//... ... }
In the code I read today you are assigning lower_bound to both 'l' and 'u'.