Enviado em 25/05/2013 - 21:44h
Olá pessoal, estou com dificuldades, em usar callback em métodos, sei que posso usar métodos estáticos, mas esses não tem acesso aos membros da classe, mesmo se passasse um ponteiro para a classe como argumento ele estaria privado de algumas coisas, o que eu quero é utilizar um método comum(privado, publico ou protegido), para isso utilizei a seguinte sintaxe:
ClasseDoMetodo* ptr_cls;
void (ClasseDoMetodo::*metodo)(void* param, int cont_param);
void* param;
int cont;
//Mudando de direção
void MudarCallBack(ClasseDoMetodo* ptr_cls, void(ClasseDoMetodo::*metodo)(void*, int), void* param, int cont)
{
///Atribuições ...
}
void Usar()
{
(ptr_cls->*metodo)(param, cont);
}
...
this->ObjetoDaClasseDoCallback.MudarCallBack(this, this->metodo, NULL, 0);
...
Conciliando ZRAM Swap com Swap em arquivo ou partição
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Ajuda com o Debian 13 - Video hibrido geforce 940 mx Wayland OFF (2)
Problema com impressoras de rede (1)
Rust é o "C da nossa geração"? (10)