У меня есть функция вида
template <typename derived>
void foo(Eigen::DenseBase<Derived>& z){
nc = z.cols();
nr = z.rows();
Eigen::DenseBase<Derived> x(nr-1, nc);
}
Я хочу функцию, похожую на приведенный выше псевдо-код.По сути, я хочу передать объект z, который может быть объектом VectorXd или MatrixXd, если это объект MatrixXd, то я хочу определить x как MatrixXd измерения (nr-1) x nc.Однако, если z является объектом VectorXd, я хочу определить x как объект VectorXd длины (nr-1).
Как я могу это сделать?