我不能这样做:
Vector2i vec(0, 1, 2);
cout << vec.norm() << endl;
因为它给出了一个编译器错误,其中提到:THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES
在一些失败的断言中。
我可以:
Vector2i i_vec(0, 1, 2);
Vector2f f_vec;
f_vec = i_vec.cast<float>();
cout << f_vec.norm() << endl;
这显然有效。
norm
问题:为什么没有定义该方法的任何原因VectorXi
?
也许 Eigen 使用 的元素类型Vector
来确定返回类型norm()
(在这种情况下,norm()
不会为返回类型定义int
)?
只是好奇。