Vector3d 的特征矩阵给出了奇怪的错误
Eigen Matrix of Vector3d gives strange error
我需要 3D 向量的容器并试过这个:
//typedef Eigen::Matrix<Vector3d, -1, 1> Field3X;
typedef Eigen::Matrix<Vector3d, Dynamic, 1> Field3X;
Field3X vecMat(3);
Vector3d v(1.0,3.0,4.0);
vecMat(0)= v;
vecMat(1) = v;
vecMat(2) = v;
cout << "Here is vecMat:\n" << vecMat << endl;
调用 cout
行给出奇怪的错误:
Error 3 error C2665: 'log10' : none of the 3 overloads could convert all
the argument types d:\eigen-eigen-
5a0156e40feb\eigen\src\Core\NumTraits.h 34 1
拥有 Vector3d
对象数组的更好方法是什么?
p.s。是的,我知道,我可以使用带对齐宏的 stl 向量,但哪个更适合更快地访问操作?
流输出运算符 <<
未针对您要显示的类型定义/覆盖。您可以改用它:
for (int i = 0; i < vecMat.size(); ++i) {
cout << "Here is vecMat(" << i << "):\n" << vecMat(i) << endl;
}
我需要 3D 向量的容器并试过这个:
//typedef Eigen::Matrix<Vector3d, -1, 1> Field3X;
typedef Eigen::Matrix<Vector3d, Dynamic, 1> Field3X;
Field3X vecMat(3);
Vector3d v(1.0,3.0,4.0);
vecMat(0)= v;
vecMat(1) = v;
vecMat(2) = v;
cout << "Here is vecMat:\n" << vecMat << endl;
调用 cout
行给出奇怪的错误:
Error 3 error C2665: 'log10' : none of the 3 overloads could convert all
the argument types d:\eigen-eigen-
5a0156e40feb\eigen\src\Core\NumTraits.h 34 1
拥有 Vector3d
对象数组的更好方法是什么?
p.s。是的,我知道,我可以使用带对齐宏的 stl 向量,但哪个更适合更快地访问操作?
流输出运算符 <<
未针对您要显示的类型定义/覆盖。您可以改用它:
for (int i = 0; i < vecMat.size(); ++i) {
cout << "Here is vecMat(" << i << "):\n" << vecMat(i) << endl;
}