"Daniel Pape" <dpape.list@gmail.com> writes: | template <class T> | void one(typename std::vector<T>::iterator it) The template parameter "T" appears in non-deduced context, therefore the function one() can be used only if the value for "T" is specified explicitly -- see the other answer. -- Gaby