0
고유 벡터가 있습니다. 나는 재귀 적으로 cat하고 싶다. recursively cat Eigen의 벡터
Eigen::Vector3d vec;
vec << 5, 6, 7;
Eigen::VectorXd vecCat;
for(int i=0;i<3;i++)
vecCat << vec(i),0,0;
cout<<vecCat<<endl;
예를
이처럼 최종 출력은 내가 위의 방법을 할 경우 5 0 0 6 0 0 7 0 0내가 오류를 얻고있다 = vecCat 될 것이라고. 누구든지 나를 도울 수 있습니까?
만약 내가 잘못하지, 아이겐에서 "<<"부분적으로 벡터를 채울 수 없습니다. 내가 볼 수있는 유일한 방법은 for 루프와 [] /() 연산자를 사용하는 것이다. –
@Dark_Daiver 이론 상으로는 할 수 있지만, CommaInitializer의 반환 값을 변수에 저장해야한다. 이것에 대해 상세히 설명하는 것은 의도하지 않았으며 미래의 증거가 보장되지 않기 때문에). 그리고 여러분이 말했듯이, 루프와'[]'연산자를 사용하는 것이 훨씬 쉽습니다. (또는 3x3 임시 매트릭스에 저장하고 다시 벡터에 매핑) – chtz
제안한 솔루션에 대해 자세히 설명해 주시겠습니까? 나는 또한 초심자이기 때문에 명확하게 이해할 수 없다. – kaush