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:
se alguém puder ajudar eu agradeço.
agora tentando adcionar o método
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);
}
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)'
...
this->ObjetoDaClasseDoCallback.MudarCallBack(this, this->metodo, NULL, 0);
...
se alguém puder ajudar eu agradeço.