Eigen: 遇到的报错或中断及解决方法

文章目录


前言

在使用Eigen库时,偶然遇到的一些报错信息,或程序中断。
有解决的在这里列出解决方法。


1. C2338

在这里插入图片描述
错误 C2338 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY

问题原因:
将不同类型的矩阵或矢量进行了赋值、复制等操作。如:

MatrixXd m1(1, 1);
MatrixXi m2(1, 1);
m1 << 1.0;
m2 = m1;

解决方法:
在赋值等操作时,使用类型转换。如:

MatrixXd m1(1, 1);
MatrixXi m2(1, 1);
m1 << 1.0;
m2 = m1.cast<int>();

版权声明:本文为qq_37896521原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。