私は、関数ポインタを引数(例えばqsort)として取るC標準ライブラリの関数を使用する場合、その関数関数ポインタを渡す必要があるのは、C関数である必要があるため、extern "C"として宣言します。qsortをC++関数へのポインタで呼び出す
extern "C" {
int foo(void const* a, void const* b) {...}
}
...
qsort(some_array, some_num, some_size, &foo);
これは間違った情報ですが、私は驚くことはありませんが、これは正しいですか?
参照:http://www.parashift.com/c++-faq-lite/pointers-to-members.html – Thomi
@Thomi:上記のfooはメンバ関数ではありません。したがって、提供されたFAQエントリはあまり意味がありません。 –
@Billy ONeal:[33.2]は実際にそれを言います、私のコメントを最初の答えに見てください。 – DaVinci