find()返回向量下标超出范围

时间:2016-08-26 13:19:23

标签: c++ vector indexing breakpoints indexoutofrangeexception

我有一个浮动向量,包括以下内容:

$id

我有一个片段代码,它在向量中找到最小的数字并返回索引:

app.controller("myCtrl", function($scope, $rootScope){
    $rootScope.CurrentScopeID = $scope.$id;
    // ...
})

然而,当我运行时,它会抛出一个超出范围断点的矢量下标

我在这里做错了什么?

编辑: enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

为什么不使用以下方法找到最小元素的索引:

int smallestInd = min_element(distances.begin(), distances.end()) - distances.begin();

修改

这是我在编辑器中的代码

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {

    vector<double> distances = { 48.2701, 18.868, 42.9535, 7, 39.2046, 5.09902, 29 };
    cout << min_element(distances.begin(), distances.end()) - distances.begin() << endl;
    return 0;
}