【发布时间】:2014-09-16 03:20:32
【问题描述】:
我正在尝试将一个 void 函数传递给另一个 void 函数,但到目前为止没有成功。所以我像这样在名为 ExitButton 的类中创建了这个函数。 ExitButton.h:
class ExitButton{
void setup(void (*_setup));
};
然后我将该类包含到另一个这样的类中。 ofApp.h:
include "ExitButton.h"
class ofApp : public ofBaseApp{
void update();
void setup();
StartButton *startButton;
}
所以在我的 ofApp.cpp 中我想像这样调用更新函数:
void ofApp::update(){
exitButton->setup(setup()); // This throws me the following error: Cannot initialize a parameter of type 'void (*)' with an rvalue of type void
}
所以我假设,我只能传递一个作为指针的 void 函数? 是否真的可以将 void 函数作为参数传递给另一个函数?
【问题讨论】:
-
为什么
setup后面有一个()?您正在尝试传递该功能,对吗?但()用于调用一个函数。 -
似乎你不想在那里打电话给
setup,但通过它。此外,成员函数与普通函数是完全不同的动物。 -
@DavidSchWartz 即使我没有使用 (),它也会给我同样的错误
-
@Deduplicator 所以不可能吗?
标签: c++ function void openframeworks