title: c++ vector template argument 1 is invalid
body: <p>I wrote a <code>File</code> class in <code>File.h</code>. And I wrote Directory class in <code>Directory.h</code> which is include <code>File&amp;</code> vector. Two header has same namespace.</p>
  
  <p>Here is the code:</p>
  
  <pre><code>#include "File.h" 
  #include &lt;vector&gt;
  
  class Directory : public File
  {
  public:
      ...
  
  private:
      std::vector&lt;(File&amp;)&gt; files; 
  };
  </code></pre>
  
  <p>When I try to compile it, it says:</p>
  
  <pre><code>In file included from Directory.cpp:1:0:
  Directory.h:29:30: error: template argument 1 is invalid
           std::vector&lt;(File&amp;)&gt; files; 
                                ^
  Directory.h:29:30: error: template argument 2 is invalid
  </code></pre>