title: Templated arguments
body: <p>What is proper syntax for a function that takes a template parameter as an argument i.e.</p>
  
  <pre><code> void myFunction (const Foo::Bar&lt;T&gt;&amp; x)
  </code></pre>
  
  <p>Is it</p>
  
  <pre><code> template&lt;typename T&gt;
   void myFunction (const typename Foo::Bar&lt;T&gt;&amp; x)
  </code></pre>
  
  <p>Also, should I use </p>
  
  <pre><code>template&lt;typename T&gt;
  </code></pre>
  
  <p>Or</p>
  
  <pre><code>template&lt;class T&gt;
  </code></pre>
  
  <p>Thanks. </p>