В принципе, вот как выглядит мой код:
vector<int> myVec; // defined elsewhere, and has stuff in it.
auto it = lower_bound(myVec.front(), myVec.back(), key);
myVec.insert(it, key); // <- compiler error!
Ошибка компилятора - error: no matching function for call to 'std::vector<int>::insert(int&, int&)'
, что неожиданно, потому что оно должно быть " something_something_iterator
".
Почему он это делает?
Я компилирую MinGW-W64 в Windows 7.
должен быть
auto it = std::lower_bound(myVec.begin(), myVec.end(), key);
begin
/ end
в вопросе и ответе: /
it
этоint&
?std::vector::front/back
возвращает ссылку или const_reference .. вы, вероятно, хотите использоватьstd::vector::begin/end