I'm running into what seems like a syntax problem. Looking at the other StackOverflow answer doesn't give me an answer applicable to my problem. At least not one which I can understand.
My scheduler class:
#define MAX_TASKS 10
typedef struct taskProps {
    int interval;
    int elapsedTime;
    int (Controller::*taskFunction)(void);
} taskProps;
class TaskScheduler {
public:
    TaskScheduler();
    int setUpdateInterval(int interval);
    int addTask(int interval, int (Controller::*taskFunction)(void));
    int startTimer();
    void clearTasks();
    int checkTasks();
private:
    int numberOfTasks;
    int updateInterval;
    taskProps scheduledTasks[MAX_TASKS];
};
This all compiles fine, but the problem lays within call the member function pointer in this function:
int TaskScheduler::checkTasks(){
    int tasksExecuted = 0;
    for(int i = 0; i < numberOfTasks; i++){
        if(scheduledTasks[i].elapsedTime >= scheduledTasks[i].interval){
            scheduledTasks[i].taskFunction;
            scheduledTasks[i].elapsedTime = 0;
            tasksExecuted++;
        }
        scheduledTasks[i].elapsedTime += updateInterval;
    }
    return tasksExecuted;
}
Compiling this gives me the error;
../Core/Src/TaskScheduler.cpp:88:22: warning: statement has no effect [-Wunused-value]
Other tries:
scheduledTasks[i].*taskFunction;
../Core/Src/TaskScheduler.cpp:88:23: error: 'taskFunction' was not declared in this scope
scheduledTasks[i].taskFunction();
../Core/Src/TaskScheduler.cpp:88:35: error: must use '.*' or '->*' to call pointer-to-member function in '((TaskScheduler*)this)->TaskScheduler::scheduledTasks[i].taskProps::taskFunction (...)', e.g. '(... ->* ((TaskScheduler*)this)->TaskScheduler::scheduledTasks[i].taskProps::taskFunction) (...)'
Anyone able to help me out and explain what piece of knowledge I'm missing here?
 
     
    