変更する必要のあるコードには、いくつかの引数を持つ関数の宣言があります。予想どおり、すべての引数は次のように宣言されますarg_type arg_name
。ただし、引数の1つは次のように宣言されています:bool (*filter) (const row<aaa::bbb>& entity)
そして私はこの宣言を理解していません。
だから、ブール値を持つことができる議論があると思いますが、(*filter)
どういう(const row<aaa::bbb>& entity)
意味ですか?
追加した
より明確にするために、ここにもっとコンテキストがあります:
void func(int a, double b, bool (*filter) (const row<aaa::bbb>& entity))
。
追加2
このように機能しますか?
bool myFilter( const row<aaa::bbb>& e) { /* ... */ }
bool applyFilter( bool (*filter)(const row<aaa::bbb>& entity, bool& x)){
return filter(x&entity);
}
applyFilter(myFilter entity, x);