Здесь я попытался записать случайные значения в a
, используя функцию Eigen
:
double *a = (double*)malloc(N*N*sizeof(double));
Map<Matrix<double, N, N, RowMajor> >m(a);
m = MatrixXd::Random(N,N);
Возможно ли выполнить последнюю часть в одной строке (без создания m
)?Я воображал что-то вроде
Map<Matrix<double, N, N, RowMajor> >(a) = MatrixXd::Random(N,N);
Но получил
main.cpp:44:42: error: redefinition of 'a' with a different type: 'Map<Matrix<double, N, N, RowMajor> >' vs 'double *'
Map<Matrix<double, N, N, RowMajor> >(a) = MatrixXd::Random(N,N);
^
main.cpp:42:13: note: previous definition is here
double *a = (double*)malloc(N*N*sizeof(double));
^
1 error generated.