Eigen::Matrix3d类型用<<赋值编译会出现如does not name a type的报错的原因和解决方法。
Eigen::Vector3d类型用<<赋值也有同样情况
首先我们看eigen的官方文档,这么写赋值是OK的
Eigen: Eigen::Translation< _Scalar, _Dim > Class Template Reference
别人博客里也这么写赋值的
eigen 构造变换矩阵(Eigen::Isometry3d或者Eigen::Matrix4d)的几种方式-CSDN博客
C++ 好用的矩阵运算库 -- Eigen (qq.com)
但是我自己这么写时,怎么改,怎么加头文件都是有这个报错,卡了两天了
百度到两个有点相关的说是头文件,但是我对应改了还是这样,说明不是这个的原因。
error: Eigen does not name a type Eigen::Matrix_‘eigen’ does not name a type-CSDN博客
使用cv::cv2eigen的时候提示"eigen.hpp:63:22: error: Eigen does not name a type Eigen::Matrix"的解决办法-CSDN博客
最后我把代码丢给chatgpt而且说报错是这样,chatgpt分析出是我赋值没有写在main函数里的原因,我把赋值写在main函数里面后果然就没有does not name a type的报错了。
这个<<赋值没写在main函数写在普通函数里面也可以编译通过,就是没在任何函数里面就编译通不过。