저는 작업중인 클래스에서 Eigen을 사용하고 있습니다. 여기에 인용 된 코드는 다음과 같습니다C++ : Eigen을 사용할 때 생성자에 함수를 전달합니다.
class model {
public:
Eigen::MatrixXd Ac;
model (vars &, std::function<Eigen::MatrixXd()>, std::function<Eigen::MatrixXd()>);
};
model::model (vars & vars, std::function<Eigen::MatrixXd()> muX,
std::function<Eigen::MatrixXd()> muX2)
//update Ac
Ac = muX(vars) + muX2(vars);
};
아이디어는 model
의 객체를 생성 할 때, 사용자가 기능 muX
및 muX2
을 제공해야하며, 클래스가 muX
및 muX2
을 사용 MatrixXd Ac
에 값을 입력하는 것입니다. vars
은 내가 만든 여러 변수로 구성된 클래스이며 muX
및 muX2
은 vars
의 데이터를 입력으로 사용해야합니다.
그러나 내 XCode에서는 "std :: function 유형의 객체 호출에 맞는 함수가 없습니다."라는 오류가 발생합니다. 나는 아직 컴파일하지 않았지만 컴파일러가 나에게 같은 오류를 줄 것이라고 생각한다.
'vars & vars' ?? 그건 끔찍한 명명입니다. 유형, 변수 또는 둘 다 의미가있는 뭔가를 생각해 낼 수있을 것이라고 확신합니다. –