title: Strange GCC 'expected primary expression...' error
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/1682844/templates-template-function-not-playing-well-with-classs-template-member-functi">Templates: template function not playing well with class&rsquo;s template member function</a>  </p>
  </blockquote>
  
  
  
  <pre><code>template &lt;typename T&gt;
  struct A
  {
      template &lt;int I&gt;
      void f();
  };
  
  template &lt;typename T&gt;
  void F(A&lt;T&gt; &amp;a)
  {
      a.f&lt;0&gt;(); // expected primary-expression before ‘)’ token
  }
  
  int main()
  {
      A&lt;int&gt; a;
  
      a.f&lt;0&gt;(); // This one is ok.
  }
  </code></pre>
  
  <p>What it's all about?</p>