J' ai une classe DialogImpl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
class DialogImpl
{
public:
    void my_callback(u_char *useless, const struct pcap_pkthdr* hdr, const u_char* packet);
public slots:
    void sniffer();
 
    // ............ les autres méthode
}
Ma méthode sniffer() a cette fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
DialogImpl::sniffer() {
    //............
    pcap_loop(descr,-1,my_callback,NULL);
    //................
}
Si je fais comme dessus, il va créer une erreur argument of type ‘void (DialogImpl:: )(u_char*, const pcap_pkthdr*, const u_char*)’ does not match ‘void ( * )(u_char*, const pcap_pkthdr*, const u_char*)’

Je sais qu'il faut mettre static à la fonction my_callback. Pourtant, je ne peux pas utiliser les fonctions de GUI dans my_callback. Est-ce qu' il y a une autre résolution?

Merci par avance pour votre aide!