我试图理解并学习如何将ofApp的一个函数传递给ofApp中的另一个函数。虽然传递全局函数,或者使用lambda函数对我来说很容易,但我根本无法完成这项工作。 前提本身很简单,但我觉得oF结构比使用它更困难,并且使用成员函数作为参数的一般答案很难转移。
我尝试实现的是这样的结构: functionA(f(x)){ //我做什么 F(X) }
其中f(x)可以是opApp的任何给定的其他函数。
.h定义
class ofApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
int addition (int a);
int operation (int a, int (*f)(int));
};
而heres是oF“main”和两个函数的一部分。
void ofApp::setup(){
operation(1, std::bind(&ofApp::addition, this));
}
int ofApp::addition (int a){
return (a+a);
}
int ofApp::operation (int a, int (*f)(int)){
int g = 0;
g = (*f)(a);
return (g);
}