#include <vector> int x = 5; template<typename T>double f(){ typename T::iterator *x; // ... } int main(){ f<std::vector<double> >(); }