How do I call overloaded member function with cv-qualifier?
<p>I have been reading through the C++ standard and from there I found out that the cv-qualifiers are part of the function signature for member functions.</p>

<p>Consider the case below:</p>

<pre><code>/******************************
* Function signature testing
*******************************/
class Signature
{   
public:
    void vSignature( void )
    {
        cout &lt;&lt; "signature" &lt;&lt; endl;        
    }

    void vSignature( void ) const 
    {
        cout &lt;&lt; "constant signature" &lt;&lt; endl;
    }
};

typedef void (Signature::*constFunc)( void ) const ;
int main(void)
{
    constFunc f = &amp;Signature::vSignature;
    Signature s;
    s.vSignature();  //outputs 'signature'
    (s.*f)();        // outputs 'constant signature'
    return 0;
}
</code></pre>

<p>In the above code, when I call vSignature in the 'ordinary' way, the non-const overload gets called. In order to 'force' the const overload to be used, I have to obtain the pointer to the vSignature function and cast it to the const overload.</p>

<p>Is there any other way to call the vSignature() const overload aside from the above?</p>
