Overloading operator== but it doesn't get called (comparing pointers?)
<p>I'm trying to overload the == operator to compare between two objects. For some reason the overloaded handler is never called.</p>

<pre><code>class gxCallback
{
public:
    virtual bool operator==(const gxCallback &amp;aOther) const
    {
        // This is never called
        return true;
    } 
};

typedef std::vector &lt; gxCallback* &gt; CallbackList;

void gxObservable::Fire( gxCallback *aCallback )
{
    CallbackList::iterator iCallback;

    for ( iCallback = mCallbacks.begin(); iCallback != mCallbacks.end(); ++iCallback )
    {
        if ( aCallback == *iCallback ) // The comparison is never made via the overloaded ==
        {
            // Do something
        }
    }  
}
</code></pre>
