Доступна ли функция m_cRedundencyManager
для использования функций-членов? Большинство обратных вызовов настроены на использование регулярных функций или статических функций-членов.
Обновление: Объявление функции, которое вы указали, показывает, что m_cRedundencyManager
ожидает, что функция вида: void yourCallbackFunction(int, void *)
. Поэтому функции-члены неприемлемы как обратные вызовы в этом случае. Статическая функция-член может работать, но если это неприемлемо в вашем случае, будет работать и следующий код. Обратите внимание, что он использует злое действие из void *
.
// in your CLoggersInfra constructor:
m_cRedundencyManager->Init(myRedundencyManagerCallBackHandler, this);
// in your CLoggersInfra header:
void myRedundencyManagerCallBackHandler(int i, void * CLoggersInfraPtr);
// in your CLoggersInfra source file:
void myRedundencyManagerCallBackHandler(int i, void * CLoggersInfraPtr)
{
((CLoggersInfra *)CLoggersInfraPtr)->RedundencyManagerCallBack(i);
}