Передано в функцию: const std :: vector & xv:
std::vector<float>::iterator lowBound = lower_bound(xv.begin(), xv.end(), x);
Функция работала нормально, прежде чем я изменил std::vector<float>&
на const std::vector<float>&
Lower_bound
, возвращает синтаксисошибка во время компиляции:
no suitable user-defined conversion from "__gnu_cxx::__normal_iterator<const float *, std::vector<float, std::allocator<float>>>" to "__gnu_cxx::__normal_iterator<float *, std::vector<float, std::allocator<float>>>" exists
std::vector<...>::const_iterator std::lower_bound<std::vector<float, std::allocator<float>>::const_iterator, float>(std::vector<...>::const_iterator __first, std::vector<...>::const_iterator __last, const float &__val)
Я попытался изменить std::vector<float>::iterator
на const std::vector<float>::iterator
и также попытался std::vector<const float>::iterator
.
Ни одна из этих опций не работает.
Прошу прощения за беспокойство, я попытался найти ошибку и не смог найти ответ.