title: c++ compilation error
body: <p>Following code is giving compilation error in visual studio 2009.</p>
  
  <pre><code>#include &lt;iterator&gt;
  #include &lt;vector&gt;
  
  template &lt;class T1, class T2 &gt;
  class A
  {
  public:
  
      typename std::vector&lt;std::pair&lt;T1,T2&gt; &gt;::iterator iterator;
      std::pair&lt;iterator, bool &gt; foo(const std::pair&lt;T1 ,T2&gt; &amp;value_in);
  };
  </code></pre>
  
  <p>can anyone throw some light on it? Here is the error.</p>
  
  <pre><code>error C2327: 'A&lt;T1,T2&gt;::iterator' : is not a type name, static, or enumerator
  </code></pre>