本文共 700 字,大约阅读时间需要 2 分钟。
reserve length error 'std::length_error' what(): vector::_M_fill_insert
原因就是vector 预留长度(resize()函数的参数)不对。
例如:
c++参考文档中的例子。
// length_error example#include// std::cerr#include // std::length_error#include // std::vectorint main (void) { try { // vector throws a length_error if resized above max_size std::vector myvector; myvector.resize(myvector.max_size()+1); } catch (const std::length_error& le) { std::cerr << "Length error: " << le.what() << '\n'; } return 0;}
即resize分配了最大 的长度+1,
还有一种就是 V.resize(n).但是n不确定,(代码出现这个错误,没有对n赋值,所有有时可以运行,有时不能n为负数时) 参考文献:cplusplus.com/reference/stdexcept/length_error/
转载地址:http://xsxgi.baihongyu.com/