title: Partial specialization of template class copy constructor
body: <p>I'm trying to partially specialize the copy constructor of a very basic templated array class.</p>
  
  <pre><code>template&lt;typename D, bool destruct = false&gt; class SimpleArray
  {
   SimpleArray(const SimpleArray&amp; other)
   {
    //stuff
   }
  
   //various other things
  }
  
  template&lt;typename D&gt; SimpleArray&lt;D, true&gt;::SimpleArray(const SimpleArray&amp; other)
  {
   //different stuff
  }
  </code></pre>
  
  <p>But I get this error:</p>
  
  <pre><code>'SimpleArray&lt;D,destruct&gt;::{ctor}' : unable to match function definition to an existing declaration
  </code></pre>
  
  <p>However, I've definitely declared the function...  I tried changing the parameter in the partial specialization to <code>const SimpleArray&lt;D, true&gt;&amp; other</code> to no avail.  VC++ 11 isn't highlighting the partially specialized function name itself, so I'm guessing the issue is an incorrect name somehow.</p>