   Template Issue
  Why ohh why can't I do this...template <typename T>class test {   vector< test<T>* > tests ;   void testIt() ;};template <typename T>void test<T>::testIt() {   vector< test<T>* >::iterator iter ;}everyting is fine except for the iterator declaration. Error: expected `;' before 'iter'   
  Do you need "std::" on the front of vector (or are you using "using namespace std")?   ;  Also, you'd need to put "typename" in front: typename vector< test<T>* >::iterator iter ;   ;  (Edit) Fixedtypename vector<...>I have 'using namespace std ;' in the header. If I change the body of testIt to:  vector<int>::iterator iter ; It compiles fine. I know it has to do with the template parameter. GCC gave up a new error (this error is from actual code):error: dependent-name '__gnu_debug_def::vector<smc_geom::Vertex<T>*,std::allocator<smc_geom::Vertex<T>*> >::iterator' is parsed as a non-type, but instantiation yields a type   ;Quote:Original post by smcI have 'using namespace std ;' in the header. Should I use using namespace std in my code?