Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运行时错误:引用绑定到空指针ot类型';int';(Leetcode问题)_C++_Vector_Runtime Error - Fatal编程技术网

C++ 运行时错误:引用绑定到空指针ot类型';int';(Leetcode问题)

C++ 运行时错误:引用绑定到空指针ot类型';int';(Leetcode问题),c++,vector,runtime-error,C++,Vector,Runtime Error,试图解决这个问题。变量nums表示包含数字列表(包括消失的数字)的向量 输入向量nums可能为空。使用空向量调用max\u元素函数时会出现此问题。您可以通过向函数传递空向量(例如,[])来简单地测试代码 最简单的解决方案是在函数开头检查输入向量nums是否为空。像这样: vector <int> temp, result; if(nums.size() == 0) return result; int max = *max_element(n

试图解决这个问题。变量
nums
表示包含数字列表(包括消失的数字)的向量


输入向量
nums
可能为空。使用空向量调用
max\u元素
函数时会出现此问题。您可以通过向函数传递空向量(例如,
[]
)来简单地测试代码

最简单的解决方案是在函数开头检查输入向量
nums
是否为空。像这样:

    vector <int> temp, result;
    if(nums.size() == 0) return result;
        
    int max = *max_element(nums.begin(),nums.end());
    ...
    ...
矢量温度,结果;
if(nums.size()==0)返回结果;
int max=*max_元素(nums.begin(),nums.end());
...
...

这将解决您在此处遇到的运行时错误。

您确定
nums
中有数据吗?如果不是,那么
*max_元素(nums.begin(),nums.end())
肯定会出现错误,因为您将取消引用“null迭代器”。似乎没有编译时错误——这意味着没有语法错误。这与程序的逻辑是否正确无关。如果需要的是程序没有错误编译,那么C++程序就不会有bug。
Line 811: Char 16: runtime error: reference binding to null pointer of type 'int' (stl_iterator.h)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h:820:16
    vector <int> temp, result;
    if(nums.size() == 0) return result;
        
    int max = *max_element(nums.begin(),nums.end());
    ...
    ...