title: overloaded 'operator+' must be a unary or binary operator error
body: <p>Following the advice <a href="https://stackoverflow.com/questions/3989127/what-do-i-often-see-references-in-operator-overloading-definitions/3989509#3989509">given in this answer</a>, I have overloaded the <code>+</code> operator in my simple <code>Point</code> class as follows (the += overload works fine).</p>
  
  <pre><code>Point operator+ (Point p1, const Point&amp; p2)
  {
      return std::move(p1 += p2);
  }
  </code></pre>
  
  <p>But I get an error saying </p>
  
  <blockquote>
    <p>overloaded 'operator+' must be a unary or binary operator (has 3 parameters)</p>
  </blockquote>
  
  <p>What is wrong?</p>