问题记录
在我使用Ubuntu进行平面参数存储的时候,我使用了如下形式的vector:
std::vector<Eigen::Vector4d> parametersVector;
parametersVector.emplace_back(parametersPlane);
咋一看确实是没有什么问题,主要是之前我在使用
std::vector<Eigen::Vector3d> parametersVector;
没有遇到什么bug,但是这一次换成vector4D之后就反复出现段错误。结合debug的具体内容,我锁定到了eigen的allocator部分,通过再次阅读高博的SLAM十四讲中eigen的实际操作部分,我看到了更加规范的写法
vector<Eigen::Vector4d ,Eigen::aligned_allocator<Eigen::Vector4d>> paramaterPlaneVector;
这样才符合STL容器中对于vector的标准要求写法,修改成这样后就没有问题啦
记录下来,希望可以帮助大家少踩一些坑