我正在尝试在模板函数中进行一些 L_p 范数计算
template<typename Number>
Number foo(const Eigen::MatrixBase<Number>& matrix)
{
return matrix.lpNorm<1>();
}
但是,如果我尝试调用
foo(matrix)
,CLang 会在行尾抛出错误“预期表达式”。如果我使用具体定义的(双)矩阵,lpNorm
工作得很好。我该如何处理这个案子? 最佳答案
经典的 C++ 错误。解决方案是使用 template
关键字,如下所示:
return matrix.template lpNorm<1>();
请参阅 details 。
关于c++ - 在 Eigen 中使用 lpNorm,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28585653/