title: C++ operator overloading order
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/1188566/operator-overloading-in-c-as-int-obj">Operator Overloading in C++ as int + obj</a>  </p>
  </blockquote>
  
  
  
  <p>I override the * operator as following:</p>
  
  <pre><code>Point Point::operator *(float scale){
      Point point(this-&gt;x*scale, this-&gt;y*scale);
      return point;
  }
  </code></pre>
  
  <p>How can I fix this:</p>
  
  <pre><code>Point p1 (5.0, 10.0);
  Point p2 = p1*4; //works fine
  Point p3 = 4*p1  //error: no match for 'operator*' 
  </code></pre>