をC++の関数ポインタを渡す可能性の重複:
How can I pass a C++ member function to a C API as a parameterは、C関数に
こんにちは、私は次のようにコールバックを期待するC関数を持つクラスを持っている: 無効fun_c(ボイド*( * ptr)(void *))。
class ClassA{
method1(){
func(ClassA::func);
}
void * func(void * arg){
}
}
は誰もが、この作品がすることができます。
今私は、誰もがこれを行う方法を教えすることができ、C++、C関数への方法を送りたいです。
'method1()'には戻り値の型はありませんが、コンストラクタ/デストラクタではありません。 'method1'の' func'は 'ClassA :: func'と同じになります。関数を渡すと、自分自身へのポインタが変です。 'func'のシグネチャは実際には関数ポインタを取るわけではなく、' void * 'をとります。これは合法ではありません。 – Flexo