最近、関数呼び出しでキャストすることにより、暗黙的な配列を関数に渡すことができることがわかりました
void foo(int* array);
foo((int[4]) {1,2,3,4});
ただし、関数ポインターを関数に渡すときに同じことができるかどうか疑問に思っていたので、次のようにします。
void bar(void (*foobar)(void));
bar((void) {printf("foobar\n");});
それで、これを行うことさえ可能ですか?
私が知りたい理由は、特定のループ構造を持つ可能性のある大きなコード ブロックがあるが、コア機能がインスタンス間で変化する場合、渡すためだけに複数の一時関数でコードを散らかしたくないからです。それらを別の機能に。したがって、パラメーターで一時的な関数を定義できるようにしたいと考えています。
どうもありがとう