У меня есть такой отрывок кода:
bool operator<(const char l, const string& h) {
return l < h[0];
}
template <typename RandomIt>
pair<RandomIt, RandomIt> FindStartsWith(
RandomIt range_begin, RandomIt range_end,
char prefix)
{
auto left = lower_bound(range_begin, range_end, prefix);
auto right = upper_bound(range_begin, range_end, prefix);
return {left, right};
}
Несмотря на то, что operator< для чара и строки явно определен, я все равно получаю ошибку при компиляции:
no match for ‘operator<’ (operand types are ‘const char’ and ‘const std::__cxx11::basic_string<char>’)
ЧЯДНТ?