Templates 特征类型的函数模板
我想把两个特征矩阵传递给一个函数。在某些情况下,我可能希望传递Templates 特征类型的函数模板,templates,eigen,Templates,Eigen,我想把两个特征矩阵传递给一个函数。在某些情况下,我可能希望传递和其他双精度、3、3>。我要么重载函数,要么使用复杂的模板。Eigen的模板可以很好地告诉我什么时候类型不兼容。有没有更好的方法利用Eigen的模板来获得更灵活的函数参数 在下面的代码中,当试图传递Eigen::Matrix3d和Eigen::Matrix时,即使它们本质上是相同的东西,也会出现故障。是否有一种更通用的方法可以将特征矩阵传递给函数,而不必使用强制转换?要明确的是,传递的两个矩阵实际上总是相同的类型 template&l
和其他双精度、3、3>
。我要么重载函数,要么使用复杂的模板。Eigen的模板可以很好地告诉我什么时候类型不兼容。有没有更好的方法利用Eigen的模板来获得更灵活的函数参数
在下面的代码中,当试图传递Eigen::Matrix3d
和Eigen::Matrix
时,即使它们本质上是相同的东西,也会出现故障。是否有一种更通用的方法可以将特征矩阵传递给函数,而不必使用强制转换?要明确的是,传递的两个矩阵实际上总是相同的类型
template<typename _Scalar, int _Rows, int _Cols >
void compare_matrices(Eigen::Matrix<_Scalar, _Rows, _Cols>& expected, Eigen::Matrix<_Scalar, _Rows, _Cols>& received, double& threshold)
{
// ...
}
模板
无效比较矩阵(本征::矩阵和预期、本征::矩阵和接收、双阈值和阈值)
{
// ...
}