Я пытаюсь передать функцию другой функции в качестве параметра, и оба они являются функциями-членами одного и того же класса.
Я получаю странную ошибку, и я не могу понять, в чем проблема.
Вот мои функции:
void myClass::functionToPass()
{
// does something
}
void myClass::function1(void (*passedFunction)())
{
(*passedFunction)();
}
void myClass::function2()
{
function1( &myClass::functionToPass );
}
Однако я получаю следующую ошибку:
cannot convert parameter 1 from 'void(__thiscall myClass::*) (void)'
to 'void(__cdecl*)(void)'
Итак, что дает? Я чувствую, что я пробовал все варианты, чтобы попытаться заставить это работать. Можете ли вы даже передать указатели функций для функций-членов? Как я могу заставить это работать?
Примечание. Создание staticToPass static не является действительно допустимым вариантом.