- 52 名前:デフォルトの名無しさん mailto:sage [2009/10/21(水) 23:01:21 ]
- >>41です。おかげさまで、
template <typename T, class Iterator> という引数を template <class Iterator> Iterator だけにして、Iterator からT 型を推論できるようになりました。ありがとうございました。 さて、教えて頂いた知識をベースに標準偏差を求めるプログラムを作り、コードをここに貼りました codepad.org/H2ZC4RSO(掲示しているcodepad のコンパイラではエラーが出ていますが、VS2005 ではコンパイル、実行できます) StandardDeviation クラスに、下記の関数を組み入れたいのですが、上手くいきません、方法を教えて頂けないでしょうか。 /** * @brief 平均値 * @param[in] Iterator first 配列の先頭 * @param[in] Iterator last 配列の末尾 * @return sum / cou 平均値 */ template<class ResultType> typename std::iterator_traits<ResultType>::value_type average(ResultType first, ResultType last) { typedef std::iterator_traits<ResultType>::value_type value_type; value_type cou = last - first; value_type sum = std::accumulate(first, last, value_type(0.0)); return sum / cou; }
|

|