title: Why does this code give the error, "template specialization requires 'template<>'"?
body: <p>When I try to compile this with Clang</p>
  
  <pre><code>template&lt;class T&gt;
  struct Field
  {
      char const *name;
      Field(char const *name) : name(name) { }
  };
  
  template&lt;class Derived&gt;
  class CRTP { static Field&lt;Derived&gt; const _field; };
  
  class Class : public CRTP&lt;Class&gt; { };
  Field&lt;Class&gt;   const CRTP&lt;Class&gt;::_field("blah");
  
  int main() { }
  </code></pre>
  
  <p>I get</p>
  
  <pre><code>error: template specialization requires 'template&lt;&gt;'
  Field&lt;Class&gt;   const CRTP&lt;Class&gt;::_field("blah");
                       ~~~~~~~~~~~  ^
  </code></pre>
  
  <p>I don't understand the error at all. What is wrong with my definition of <code>_field</code> and how do I fix it?</p>
  
  <p>(Note that the arguments to <code>_field</code> are not necessarily the same for all subclasses.)</p>