title: 'X is not a template' error
body: <p>I'm having trouble declaring a template class. I've tried an number of ill-readable and non-sensical combinations.</p>
  
  <pre><code>template &lt;class C, class M &gt;
  class BlockCipherGenerator : public KeyGenerator
  {
    ...
    private:
        M &lt; C &gt; m_cipher;
  };
  </code></pre>
  
  <p>And</p>
  
  <pre><code>template &lt;class C, class M &gt;
  class BlockCipherGenerator : public KeyGenerator
  {
    typedef typename C::value_type CIPHER;
    typedef typename M::value_type MODE;
    private:
        MODE &lt; CIPHER &gt; m_cipher;
  };
  </code></pre>