Передать функцию как аргумент, затем использовать как метод класса
Требуется передать функцию аргументом для другой функции, затем сделать переданную функцию методом класса. Пытался сделать примерно так:
class A{
public:
void setExDef(std::function<void()> *f){
exDef = f;
};
void executeDef(){
exDef();
};
private:
void *exDef;
};
Затем получил ошибку error: expression cannot be used as a function
.
Надеюсь что пояснил понятно.
Источник: Stack Overflow на русском