0

型 T のリストと述語 (指定された関数へのポインター) を指定して、リスト内のいくつの要素が true を返すかをカウントする関数を作成しました。

これはアトミック述語 (isEven、isOdd、is_less_than_42) で機能しますが、N-ary 述語で使用したい場合はどうすればよいですか? N項述語に必要なN-1引数のオプションのリストを渡す方法はありますか?

template<typename T, class Pred>
int evaluate(listofelements<T> &sm, Pred pred){
    typename listofelements<T>:: iterator begin, end;
    int count=0;
    begin=sm.begin();
    end=sm.end();
    while(begin!=end){
        if(pred(*(begin->data))) count++;
        begin++;
    }
    return count;
}
4

1 に答える 1