template struct A { typedef T* iterator; // ERROR - pointer to reference public: A(){} }; void f() { A a; }