Я использовал ArrayWrapper
для преобразования массива и матрицы в массив.
Вариант использования: DenseBase, auto и двоичная операция говорят, что массивы имеют различную форму
Проблема: невозможно построить ArrayWrapper<D>
с const
DenseBase<D>
.
Test (также на godbolt.org )
#include <Eigen/Eigen>
template <typename D>
void f(const Eigen::DenseBase<D>& arr) {
const Eigen::ArrayWrapper<D> wrapper(arr);
}
int main() {
Eigen::ArrayXXf a(3, 4);
f(a);
}