1
Eigen 동적 행렬을 받아 들일 필요가 없을 수도있는 함수를 만들고 싶다면 어딘가에 빈 동적 행렬을 정의해야한다는 사실을 알고 있습니다 내 함수 헤더가 정의되기 전에.고유 행렬 함수의 기본 인수로
현실은 그러나void myFunction(Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>& inputMatrix) {
// do something
}
file.h
Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> EMPTY(0,0);
void myFunction(Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>& inputMatrix);
void myFunction(Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>& inputMatrix=EMPTY);
file.cpp, 나는 현재 템플릿 클래스와이 클래스의 기능과 옵션 같은 고유치 행렬을하고있다 일하고 있어요 매개 변수. 내가 별도의 TPP 파일에이 템플릿 클래스의 구현을 포함 시켰습니다
template<typename Number>
class myClass {
void myFunction(Eigen::Matrix<Number, Eigen::Dynamic, Eigen::Dynamic>& inputMatrix);
};
#include "myClass.tpp"
이런 식으로 뭔가 ...
에서 MyClass.h 그래서 잘하면 여러 함수 선언을 할 수 있습니다. 이 경우 어떻게하면 inputMatrix
을 선택적 매개 변수로 만들 수 있습니까? 나는 클래스 정의 위에 빈 행렬을 선언하려했지만 템플릿 typename이 필요하다.