Я пытаюсь передать функцию void в другую функцию void, безуспешно до сих пор. Поэтому я создал эту функцию внутри класса ExitButton, как это. ExitButton.h:Передача функции void как аргумент другой функции
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 как параметр в другую функцию?
Почему у вас есть '()' после 'setup'? Вы пытаетесь передать функцию, верно? Но '()' используется для * вызова * функции. –
Кажется, вы не хотите называть 'setup' там, но передайте его. Кроме того, функция-член - совершенно другое животное от нормальной функции. – Deduplicator
@DavidSchWartz, даже если я делаю это без out(), он бросает мне ту же ошибку – mauricioSanchez