title: template class with static template class member: how to define the static member
body: <p>I have a template class which itself contains a template class as static member. I can't find the correct syntax to define the static member as shown in the example:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;list&gt;
  
  template &lt;typename B&gt;
  class Container
  {
      std::list&lt;B*&gt; l;
  
      public:
      void add( B* b)
      {
          l.push_back(b);
      }
   };
  
  template &lt; typename A &gt;
  class Relais
  {
      public:
          using RELAIS_TYPE = Relais&lt;A&gt;;
          static Container&lt;RELAIS_TYPE&gt; cont;
  
          void Do()
          {
              cont.add(this);
          }
  };
  
  // did not compile: Which is the correct syntax here...? 
  Container&lt;Relais&lt;int&gt;&gt; Relais&lt;int&gt;::cont;
  
  int main()
  {
      Relais&lt;int&gt; r;
      r.Do();
  }
  </code></pre>