次のものの作り方と使い方がわかりませんか?どうも
class A;
typedef void (*CALLBACK)( A*, void* );
voidを返し、その後に。A *が続く関数へのポインタを定義していますvoid *。したがって、あなたはすることができます
void f(A*, void*);
CALLBACK cbk = f;
// ...
A* a;
void *p;
cbk(a, p);
これは、パラメータを返しvoidたり受け取ったりする関数へのポインタです。例えばA*void*
void foo(A* a, void* v)
{
...
}
...
CALLBACK c = foo;
これは、型を、パラメータとしてとを返し、受け取るCALLBACK関数への関数ポインタとして定義する型定義です。voidA*void*
typedef void (*CALLBACK)(A*, void*);
void cb(A*, void*);
CALLBACK handler = cb;
...
A* obj = new A();
some_type data;
handler(obj, &data);