On May 13, 1:47 am, tragomaskhalos <dave.du.verg...@[EMAIL PROTECTED]
>
wrote:
> On 13 May, 00:37, utab <umut.ta...@[EMAIL PROTECTED]
> wrote:
>
>
>
>
>
> > template <class T, class Ran>
> > T median(Ran b, Ran e)
> > {
> > typedef typename vector<T>::size_type vec_sz;
>
> > vec_sz size = (e-b)/sizeof(T);
> > if (size == 0)
> > throw domain_error("median of an empty vector");
>
> > sort(b, e);
>
> > vec_sz mid = size/2;
>
> > return size % 2 == 0 ? (b[mid] + b[mid-1]) / 2 : b[mid];
>
> > }
>
> > int main()
> > {
> > vector<double> vec;
> > for(int i=0;i!=10;++i)
> > vec.push_back(i);
> > std::cout << median(vec.begin(), vec.end()) << std::endl;
>
> The compiler cannot deduce T; replace the above call with
> median<double>(vec.begin(), vec.end())
> ^^^^^^
>
> > return 0;
>
> > }
Thanks, I read something similar in the faq as well.


|