title: Can conversion functions be non-member functions
body: <p>Is it possible to define the casting operator from one type to another type outside of the class definition as a non-member function? I know it is possible for other operators like operator- but It is not possible with cast operators. For example for two classes A and B, I tried to define the casting operator outside of the A and B scopes as follows:</p>
  
  <pre><code>operator A(const B&amp; b)
  {
      A a(....);
      return a;
  }
  </code></pre>