C++ 将矩阵中的一行设置为0(在本征值中)

C++ 将矩阵中的一行设置为0(在本征值中),c++,eigen,C++,Eigen,有点奇怪: 我试图将矩阵的整行设置为0,并且eigen中的四个明显构造都不会编译: //U is a p by p matrix. I wanna set its last column to 0.0f U=solved.eigenvectors(); U.row(p-1).array()=0; //don't compile U.row(p-1).setZero(1,p); //don't compile U.row(p-1).array(

有点奇怪:

我试图将矩阵的整行设置为0,并且eigen中的四个明显构造都不会编译:

//U is a p by p matrix. I wanna set its last column to 0.0f
U=solved.eigenvectors();   

U.row(p-1).array()=0;              //don't compile
U.row(p-1).setZero(1,p);           //don't compile
U.row(p-1).array().setZero(p);     //don't compile
U.bottomRows(1).setZero(p);        //don't compile
我还尝试了这些主题的其他变体,但都没有通过编译器

您应该使用:

U.row(p-1).setZero();

还有一个问题:我如何直接做到这一点--e、 g.已求解的特征向量().行(p-1).setZero()@user189035由于返回常量,因此无法执行此操作。