こんにちは私はC++とlibpcapを使用しています。関数 "mycallback"を呼び出そうとすると、ビルドエラーが発生します。 これらの関数である:libapcapとC++でpcap_loopをビルドする
void Capture::mycallback (unsigned char * useless, const struct pcap_pkthdr *pkthdr, const unsigned char * packet){
[...]
}
と関数の呼び出し:
void Capture::capturar(){
[...]
pcap_loop (descr, -1, mycallback, NULL); //entramos en el bucle (infinito)
}
そして、これは誤りです:
error: argument of type 'void (Capture ::) (unsigned char *, const pcap_pkthdr *, const unsigned char *)' does not match '{aka pcap_handler void (*) (unsigned char *, const pcap_pkthdr *, const unsigned char *)} '
宣言ので、私はエラーを理解していません誰も私を助けることができますか?
ありがとうございました。
'キャプチャ:: capturar() 'は静的ではありません。もしそれがうまくいけば動作しますが、動作する必要はありません。 – Flexo
possi [Cコールバック関数としてC++クラスメンバ関数を使用する]の複製を作成する(http://stackoverflow.com/questions/1000663/using-a-c-class-member-function-as-a-c-callback-function) – Flexo