C++ comparison expression bug
<p>There's something wrong with this code, but I can't find what's causing it.</p>

<pre><code>bool Parser::validateName(std::string name) {
    int pos = name.find(INVALID_CHARS);               //pos is -1, 
    bool result = ((name.find(INVALID_CHARS)) &lt; 0);   //result is false
    //That was weird, does that imply that -1 &gt;= 0?, let's see
    result = (pos &lt; 0)                                //result is true
    result = ((name.find(INVALID_CHARS)) == -1)       //result is true
    result = (-1 &lt; 0)                                 //result is true
    ...
}
</code></pre>

<p>Why is the result false at the second line. Is there something I'm not seeing?</p>
