Я пытаюсь получить пользовательский скалярный тип MyType
, работающий в библиотеке Eigen. Пользовательский скалярный тип работает нормально, особенно преобразование в double
, но в std::complex<MyType>
я получаю следующую ошибку компилятора
eigen/Eigen/src/Core/MathFunctions.h:385:12: error: no matching function for call to 'std::complex<double>::complex(const std::complex<MyType>&)'
return static_cast<NewType>(x);
, когда я пытаюсь использовать метод Эйгена cast
для приведения матрицы в встроенный std::complex<double>
тип
Eigen::Matrix<std::complex<MyType>, 2, 1> a;
a.cast<std::complex<double>>();
Этот вопрос связан с преобразованием типа из std :: complex в std :: complex , который, похоже, не имеет элегантное решение, которое можно интегрировать в библиотеку Eigen. Я могу только предположить, что Eigen предоставляет другой подход для приведения комплексных пользовательских скалярных типов.