conversion operator as standalone function
<p>Why does C++ require that user-defined conversion operator can only be non-static member?
Why is it not allowed to use standalone functions as for other unary operators?
Something like this:</p>

<pre><code>operator bool (const std::string&amp; s) { return !s.empty(); }
</code></pre>
