title: Does order matter in specialization of a function in class template
body: <p>Consider something like...</p>
  
  <pre><code>template&lt;typename T&gt;
  class Vector {
    ...
    bool operator==( const Vector&lt;float&gt; &amp;rhs ) {
      // compare and return
    }
  
    bool operator==( const Vector&lt;T&gt; &amp;rhs ) {
      // compare and return
    }
    ...
   };
  </code></pre>
  
  <p>Notice how the specialization is above the non specialized version. If I were to put the specialized version <b>below</b> the non-specialized version, would a <code>Vector&lt;float&gt;</code> == comparison still work as intended? For some reason I think I remember reading that if you put the specialization below in this scenario then when the compiler looks through the header, it will see the default first, see that it works, and use that.</p>