Ir para conteúdo
Fórum Script Brasil
  • 0

Casting Ponteiro p/ método


spym4n

Pergunta

Boa tarde pessoal do fórum,

Estou com o seguinte problema, preciso usar uma biblioteca em C, que umas de suas funções necessito passar o ponteiro de uma função para funcionar com um handler, o problema é que meu código está OO com c++, e gostaria de invés de colocar esse ponteiro de função, colocar um handler de um método que tenho nesta mesma classe.

A principio pensei que era só colocar o nome do método como parametro, mas no entanto ele não consegue fazer o casting, pois a função espera um (void*) e eu envio um MINHACLASS::void*, é a mensagem que recebo.

A função que estou usando é do RTAI:

rt_thread_create(*void, *void, int);

Resumindo, o que quero é de vez de passar uma função nesse primeiro parametro, eu passar um método.

Se alguém puder me dar algum esclarecimento, agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você não pode passar um método pois ele só pode ser chamado por um objeto da classe, algo que não irá ocorrer na situação que você disse.

Uma alternativa é fazer uma função que apenas irá chamar o seu método:

MINHACLASS obj;

void minhafuncao(void)
{
   obj.MEUMETODO();
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...