2

いくつかのCコードを確認していますが、コールバックが正確に何であるかを理解するのに苦労しています。これが何を意味するのか誰か知っていますか?「コールバックとxの両方が無効になるように定義していると思います*?

typedef void (*Callback)(bool x);
4

2 に答える 2

5

新しい型名になりますCallback。すべては、を取り、を返すCallback関数へのポインタになります。実際には、その実際のタイプのエイリアスになります。だからあなたが言うとき:boolvoidCallback

Callback ptr = some_fun;

を指す関数ポインタを作成していますsome_fun。関数ポインタは通常、引数として他の関数に渡されます。

于 2012-08-29T04:40:14.163 に答える
2

Callback入力パラメータを受け取り、boolを返す関数を指す名前で関数ポインタ型を宣言しますvoid
ステートメントを指定すると、指定しCallbackたタイプの関数のアドレスを保持するタイプとして使用できます。

疑わしい場合は、時計回りのスパイラルルールを参照してください。

于 2012-08-29T04:40:29.813 に答える