今天再用C++写leetcode的时候发现了一个问题和大家分享一下
具体的报错是这样的Line 1034: Char 9: runtime error: reference binding to null pointer of type 'int' (stl_vector.h)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h:1043:9
翻译一下
第 1034 行:字符 9:运行时错误:引用绑定到类型为“int”的空指针
出现这种情况的问题是 由于你在声明vector容器的的时候没有指定大小而当作c语言的语法直接使用例如num[1]这种情况,造成空指针,所以解决方法如下:
1.用num.push_back(x)插入;
2.事先用函数声明vector容器大小
vector<int> abc(10)
或者使用resize()函数设置大小;
同时resize()和reserve是有区别的注意!