У меня есть вектор поплавками, которые включают следующее:находка() возвращает вектор индекс выходит за пределы диапазона
48.2701
18.868
42.9535
7
39.2046
5.09902
29
У меня есть кусок кода, который находит наименьшее число в векторе и возвращает индекс:
int indexofsmallest = 2;
smallest = *min_element(distances.begin(), distances.end());
int pos = find(distances.begin(), distances.end(), smallest) - distances.begin();
indexofsmallest = pos;
cout << "||" << smallest << "||" << endl;
cout << "index of smallest is:" << indexofsmallest + 1 << endl;
однако, когда я бегу, он бросает вектор индекс выходит за пределы диапазона точек останова
, что я делаю неправильно здесь?
EDIT:
@Smeeheey это std :: min_element – user
Похоже, вам, возможно, потребуется научиться использовать отладчик для выполнения кода. С хорошим отладчиком вы можете выполнить свою программу по очереди и посмотреть, где она отклоняется от ожидаемого. Это важный инструмент, если вы собираетесь заниматься программированием. Дальнейшее чтение: ** [Как отлаживать небольшие программы] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** –
@Smeeheey min_element является частью –
belkipAndroidness