0
클래스에 함수를 저장하고이 함수를 멤버 함수 내에서 호출하기를 원합니다. 나는 이것이 함수 포인터를 사용하여 가능하다는 것을 알고 있지만 이것에 대해서는 std::function
을 사용하고 싶다. 여기 C++에서 클래스에 함수 전달
double foo(double a, double b){
return a + b;
}
class Test{
private:
std::function<double(double,double)> foo_ ;
public:
Test(foo);
void setFoo(foo) {foo_ = foo;}
double callFoo(double a, double b){return foo_(a,b);}
};
int main(int argc, char const *argv[]) {
Test bar = Test(foo);
bar.callFoo(2,3);
return 0;
}
* 작동하지 않는 코드가 있습니다. * 작동하지 않는 방법/이유를 지정하는 것이 좋습니다. 컴파일하지 않습니까? 그렇다면 오류를 제공하십시오. 런타임 에러? 콜 스택 및/또는 오류를 제공하십시오. 잘못된 출력입니까? 입/출력을 제공하십시오. – Borgleader