
Minha idéia era usar o operador de conversão para deduzir a assinatura da função de retorno de chamada e dar ao wrapper função a mesma assinatura.O bom de encaminhar para a função de membro é que a função de membro não precisa aceitar os parâmetros da mesma maneira que o retorno de chamada.Se você está escrevendo código no C ++, é mais conveniente escrever o retorno de chamada como uma função de membro da classe.Fazer dessa maneira significa que a função de membro não precisa ter exatamente a mesma assinatura, desde que as entradas e saídas sejam conversíveis.Para fazer isso, usamos um tipo de característica auxiliar que pode extrair o objeto pai de um ponteiro para a função do membro.
Fonte: https://devblogs.microsoft.com/oldnewthing/20250616-00/?p=111271