Line 923: Char 9: runtime error: reference binding to null pointer of type 'std::vector >' (stl_vector.h)


记录Leetcode刷题遇到的错误

程序代码(C++):

    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int rows = matrix.size();
        int cols = matrix[0].size();
        if(rows == 0 || cols == 0) return false;
        return binarySearch(matrix, target, 0, cols - 1, rows, cols);
    }

报错代码:

执行出错信息:  Line 923: Char 9: runtime error: reference binding to null pointer of type 'std::vector<int, std::allocator<int> >' (stl_vector.h)
最后执行的输入:
[]
0

报错原因:

输入为空时的判断。当rows=0的时候,数组不存在元素,也就不存在matrix[0],matrix[0]产生越界。

程序修改:

    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int rows = matrix.size();
        if(rows == 0) return false;
        int cols = matrix[0].size();
        if(cols == 0) return false;
        return binarySearch(matrix, target, 0, cols - 1, rows, cols);
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM