title: partial specialization for iterator type of a specified container type
body: <p>I have a template struct, which accepts a Iterator type for the template argument.
  now I need to specialize that class for iterators of different containers. 
  I have tried with std::vector</p>
  
  <pre><code>template&lt;typename Iterator&gt;
  struct AC {
  
  };
  
  template&lt;typename T, typename Alloc&gt;
  struct AC&lt;typename std::vector&lt;T, Alloc&gt;::iterator&gt; { //this doesn't work
  
  };
  </code></pre>
  
  <p>but I got this compiler error(VS11):
  'T' : template parameter not used or deducible in partial specialization</p>
  
  <p>Can someone please tell me why this doesn't work? And how to make it work?</p>