다른 void 함수에 void 함수를 전달하려고합니다. 실패했습니다. 그래서 ExitButton이라는 클래스 안에이 함수를 만들었습니다. ExitButton.h :void 함수를 다른 함수의 인수로 전달
그런 다음이 클래스를 다른 클래스에 포함합니다. 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 함수를 다른 함수에 매개 변수로 전달할 수 있습니까?#include <iostream>
using namespace std;
class ExitButton{
public:
void setup(void (*_setup)())
{
_setup(); // we call the function pointer
};
};
void setup() // this is a void function
{
cout << "calling void setup()" << endl;
}
int main()
{
ExitButton eb;
eb.setup(setup); // use a void function as a parameter
}
왜 당신은'()'후'setup'이 있습니까 : –
거기에'setup'을 호출하고 싶지는 않지만 그것을 넘기고 싶습니다. 또한, 멤버 함수는 일반적인 함수와 완전히 다른 동물입니다. – Deduplicator
@DavidSchWartz()를 사용하더라도 같은 오류 – mauricioSanchez