Эйген не может соответствовать унарной функции ⇐ C++
-
Anonymous
Эйген не может соответствовать унарной функции
Я столкнулся с проблемой компиляции Eigen 3.4.0.
В частности, у меня есть шаблонная функция для вычисления площади треугольника:
шаблон auto TriangleArea(const Eigen::Matrix& p0, const Eigen::Matrix& p1, const Eigen::Matrix& p2) { const auto e01 = p1 - p0; const auto e02 = p2 - p0; return Eigen::sqrt(e01.dot(e01) * e02.dot(e02) - e01.dot(e02) * e01.dot(e02)) / T{2}; } Этот код приводит к ошибке:
нет соответствующей функции для вызова 'sqrt(Eigen::ScalarBinaryOpTraits::ReturnType)’
Как решить проблему, когда sqrt не найден?
Я столкнулся с проблемой компиляции Eigen 3.4.0.
В частности, у меня есть шаблонная функция для вычисления площади треугольника:
шаблон auto TriangleArea(const Eigen::Matrix& p0, const Eigen::Matrix& p1, const Eigen::Matrix& p2) { const auto e01 = p1 - p0; const auto e02 = p2 - p0; return Eigen::sqrt(e01.dot(e01) * e02.dot(e02) - e01.dot(e02) * e01.dot(e02)) / T{2}; } Этот код приводит к ошибке:
нет соответствующей функции для вызова 'sqrt(Eigen::ScalarBinaryOpTraits::ReturnType)’
Как решить проблему, когда sqrt не найден?
Мобильная версия