Cześć!
Usiłuję napisać funkcję która przeprowadzi mi na wektorze( lub jego fragmencie) pewną operacje.
Dla całego wektora:
template<typename _Up>
_Up rms2(const vector<_Up> &value){
_Up sum = 0;
for(typename vector<_Up>::const_iterator it = value.begin(); it != value.end(); ++it)
sum += *it * *it;
return sqrt(sum/2);
}
Oraz podając tylko iteratory:
template<typename _InputIterator>
??? rms2(_InputIterator __first, _InputIterator __last){
typedef typename std::__is_integer<_InputIterator>::__type _Integral;
??? sum = 0;
/* for itp - nie ma problemu */
return sqrt(sum/2);
}
Co wpisać w miejsce ???
- jak dostać się to typu wartości iterowanej?