メソッドの型自体のポインタパラメータを含むメソッドtypedefを宣言しようとしています - これは可能ですか?メソッドポインタをtypedefメソッドのパラメータとして宣言する方法
方法は次のようになります。myFunc
はFuncType
に一致する宣言です
void myFunc(FuncType* pFunc, int a) {}
をので、私は、変数を設定し、このようにそれを呼び出すことができます。私が試した
FuncType f = myFunc;
f(&f, 5);
このメソッドと一致するtypedefを次のように宣言します。
typedef void (*FuncType)(FuncType*, int);
しかし、完全に宣言される前にFuncType
が必要であるため、これは機能しません。私は、voidポインタにパラメータを設定することでこれを修正できますが、これを回避する方法がいくつかあります。おそらくFuncType
の前方宣言の何らかの形で?
ええ、私はそう思った。私は型へのポインタとしてパラメータを宣言することによって、構造体やクラスと同じ方法で取り除くことができると考えました。明らかにそうではありません。 – adelphus