此函数给出了 SIGSEGV 错误。任何人都可以纠正并告诉他们问题吗?C++

萨希尔·达斯
vector<int> cutTheSticks(vector<int> arr) {

    vector<int> a;
    int i,min;
    int n = arr.size();
    a.push_back(n);

    while(arr.size() > 0){

        min = *min_element(arr.begin(),arr.end());

        for(auto j=arr.begin();j!=arr.end();j++){
            if(*j == min){
                arr.erase(j);
                //Problem lies here
            }
            else{
                *j = *j-min;
            }
        }
        a.push_back(arr.size());
    }
    return a;
}

此函数给出了 SIGSEGV 错误。任何人都可以纠正并告诉我问题吗?

SM

问题出在所选的循环中。

for (auto j = arr.begin(); j != arr.end(); j++) {
  if(*j == min){
    arr.erase(j);
  } else {
    *j = *j - min;
  }
}

假设j指向数组中的最后一个元素,即它是arr.end() - 1arr.erase(j);迭代器j无效并且j++在下一次迭代中是未定义的行为之后,它可能会j落后于arr.end()更正如下循环

auto j = arr.begin();
while (j != arr.end()) {
  if(*j == min){
    j = arr.erase(j);
  } else {
    *j = *j - min;
    ++j;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任何人都可以解释此HashMap行为

任何人都可以帮忙这个方法此方法必须返回int类型的结果

任何人都可以识别此表格以进行日期存储吗?

为什么我的成本函数给出了错误的答案?

为什么此平方根的递归函数给出错误的结果?

Azure Web应用程序随机重启-任何人都可以扩展此建议吗?

我的C ++函数给出了关于声明的异常错误

问题:排序数组的平方 任何人都可以查看此代码

任何人都可以通过PIPELINED函数帮助我吗?

任何人都可以说出这段代码出了什么问题吗(python :()的新手

如何在Eclipse控制台中解决Json数据,任何人都可以解决此问题

任何人都可以在PHP中解释此数组声明-> $ a {0} =“ value”

任何人都可以评论此ruby代码吗?

任何人都可以帮助我解决尝试使用dll打开端口时遇到的此错误

任何人都可以识别此特定的Intel SOC驱动程序

任何人都可以更正此代码吗?

std :: thread初始化构造函数给出了编译错误

视图中用“ where”调用的窗口函数给出了错误的执行计划

带有参数包的类模板的构造函数给出了 C3520 错误

为什么 TensorFlow Eager Execution API 对这个函数给出了错误的答案?

关于编写异步函数的特定混淆。任何人都可以验证吗?

减少函数执行 - 任何人都可以帮助我识别错误,因为我无法获得结果

当我尝试在 django 2.2 中执行 pip install Pillow 时......它显示以下错误>任何人都可以查看此错误

在flutter中传递回调函数时出现此错误,任何人都可以解决此问题

R 提取函数给出了关于正则表达式的奇怪错误

任何人都可以通过 PySimpleGUI 帮助我编写代码完成此操作

任何人都可以提供与 static_assert 一起使用的符合 MISRA C++ 的“offsetof”宏/模板/函数吗?

转置数据帧的 t 函数给出了错误的值

Sass mix() 函数给出了有效颜色值的错误