0
私が書かれているテンプレート関数のシグネチャは次のとおりです。一致する関数呼び出し
template<class IteratorT>
auto average(IteratorT& begin, IteratorT& end) -> decltype(*begin)
私はこれがうまく働くだろうと思ったが、どうやらそれはしていません。
int integers[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
auto average = sigma::average(&integers[0], &integers[8]);
しかし、打ち鳴らすには、それはマッチング機能を見つけることができないことを私に伝えます:私は、配列の最初と最後にポインタを渡すことによって機能を呼び出す
error: no matching function for call to '
average
'
は私が間違って何をしましたか?
まあ、 'average'は内部的に' std :: accumulate'と 'end-begin'でデバイスを使います。私のアプリケーションでは平均値*が多く計算されるので便利な関数です。 –