Erro callback com métodos

1. Erro callback com métodos

Paulo
paulo_moc

(usa Ubuntu)

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);
}


agora tentando adcionar o método

...
this->ObjetoDaClasseDoCallback.MudarCallBack(this, this->metodo, NULL, 0);
...


o que tem de errados nos parametros passados? ela pede um método dessa classe, e eu isso que eu passo, o compilador acusa: no matching function for call to 'ClasseDoCallBack::MudarCallBack(ClasseDoMetodo*, <unresolved overloaded function type>, NULL, int)'

se alguém puder ajudar eu agradeço.



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts