title: invalid initialization of reference type?
body: <p>Whats going on?  Here is the functions it references.  I am trying to get this to work as a copy constructor</p>
  
  <pre><code>template &lt;class T&gt;
  const queue&lt;Base&gt;&amp; queue&lt;T&gt;::operator=(const queue&lt;Base&gt; &amp;q){
  // Doesn't need to copy if they are the same object
  if (this != &amp;q){
      delete [] data;
  
      length = q.length;
      capacity = q.capacity;
      front = q.front;
  
      data = new T[capacity];
  
      for (int i = 0; i &lt; capacity; i++){
          data[i] = q.data[i];
      }
  }
  
  return this;
  }
  </code></pre>