欢迎来到王正伟的博客

返回顶部

Line 923: Char 9: runtime error: reference binding to null pointer of type 'std::vector<int, std::allocator<int> >' (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);
    }

 

posted @ 2020-08-04 08:33  Mr.King~  阅读(5028)  评论(0编辑  收藏  举报