title: enable_if on member template function of class template
body: <p>This seams to be a bug in MSVC10?</p>
  
  <pre><code>#include &lt;type_traits&gt;
  
  template&lt;int j&gt;
  struct A{
      template&lt;int i&gt;
      typename std::enable_if&lt;i==j&gt;::type
          t(){}
  };
  
  int main(){
      A&lt;1&gt;().t&lt;1&gt;();  //error C2770
  }
  </code></pre>
  
  <p>error C2770: invalid explicit template_or_generic argument(s) "enable_if::type A::t(void)".</p>
  
  <p>The following compiles:</p>
  
  <pre><code>#include &lt;type_traits&gt;
  
  template&lt;class j&gt;
  struct A{
      template&lt;class i&gt;
      typename std::enable_if&lt;std::is_same&lt;i,j&gt;::value&gt;::type
          t(){}
  };
  
  template&lt;unsigned int j&gt;
  struct B{
      template&lt;unsigned int i&gt;
      typename std::enable_if&lt;i==j&gt;::type
          t(){}
  };
  
  int main(){
      A&lt;int&gt;().t&lt;int&gt;();
      B&lt;1&gt;().t&lt;1&gt;();
  }
  </code></pre>