Jak przekazać lambdę C ++ wywołaniu zwrotnemu C, które oczekuje wskaźnika funkcji i kontekstu?

Próbuję zarejestrować wywołanie zwrotne w C-API, które używa standardowego paradygmatu kontekst-funkcja-wskaźnik +. Oto jak wygląda api:

void register_callback(void(*callback)(void *), void * context);

Naprawdę chciałbym zarejestrować lambdę C ++ jako wywołanie zwrotne. Dodatkowo chcę, aby lambda była taka, która zawiera przechwycone zmienne (tzn. Nie można jej przekształcić w bezstanową prostą)std::function)

Jakiego kodu adaptera musiałbym napisać, aby móc zarejestrować lambdę jako wywołanie zwrotne?

questionAnswers(3)

yourAnswerToTheQuestion