[eigen] following up on dynamic allocation |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Eigen::MatrixXd mktrasp(Eigen::MatrixXd X const int n, const int p){
Eigen::Matrix<double, p, n, RowMajor> T;
T = X.transpose();
return T;
}
Gives the compiler errors
error: 'p' cannot appear in a constant-_expression_
error: 'n' cannot appear in a constant-_expression_
I imagine this happens because n
and p
are not known at compile time.
So I tried this solution
Eigen::MatrixXd mktrasp(Eigen::MatrixXd X, const int n, const int p){
Eigen::Matrix<double, Dynamic, Dynamic, RowMajor> T(p, n);
T = X.transpose();
return T;
}
This works but I have completely lost the plot. Is T a dynamic matrix or fixed size now? Is it safe to do this? Can you suggest a better approach?
I am not much of a programmer. So apologies if the question has a trivial answer.
Thanks, MarcoMail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |