c++ - 引用绑定到“int”类型的空指针 (stl_iterator.h)
问题描述
有人可以帮我解决这个错误吗
第 786 行:字符 17:运行时错误:引用绑定到“int”类型的空指针 (stl_iterator.h)
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
vector<int>result;
sort(nums.begin(),nums.end());
int p=1;
int minel=*min_element(nums.begin(),nums.end());
int maxa=*max_element(nums.begin(),nums.end());
for(int64_t i=minel;i<=maxa;i++)
{
int c=count(nums.begin(),nums.end(),i);
if(c==0)
{
result.push_back(i);
}
}
return result;
}
};
解决方案
事情可能会失败,当你使用可能失败的东西时,你应该检查它是否失败。特别是std::max_element
回报...
指向范围 [first, last) 中最大元素的迭代器。如果范围内的多个元素等价于最大元素,则将迭代器返回到第一个这样的元素。如果范围为空,则返回最后一个。
你应该改变这个
int minel=*min_element(nums.begin(),nums.end());
到
auto it = min_element(nums.begin(),nums.end());
if (it != nums.end()) {
auto minel = *it;
} else {
// do not use it
}
或者nums
在函数开始时检查一次是否为空。该代码似乎用于在线竞赛。检查要求,如果空输入是有效输入,则需要处理它。如果空向量不是您必须处理的要求,则您可能在代码中存在未显示的错误。
推荐阅读
- wordpress - wordpress 样式在自定义主题中不起作用,只有 html 标签会受到影响
- javascript - 全屏菜单仅在滑块的第一张幻灯片上有效,其余部分无效-CSS,HTML
- vue.js - 后退按钮不起作用,刷新时出现错误 404
- javascript - 当文本字段中有特定值时如何选中复选框
- javascript - 关闭对话框子页面时在父页面上保持页面滚动
- php - 在 PHP Laravel 中仅验证一个值选择下拉输入字段
- javascript - TypeError:无法读取未定义的属性“stateUpdate”(这是一个函数)/将数据从父级传递给子级
- java - 如何获得电子邮件正文的预览
- python - 缺少测量且仅位置已知的卡尔曼滤波器预测
- glsl - 我可以将 R8G8B8A8 放在 UBO 中,并将其用作 vec4 吗?