|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-02-05 06:39:23
Paul Mensonides wrote:
>
> [deep breath]
>
> I think that he thought that you might have thought that the
> cv-qualified specializations would match
> pointers-to-cv-qualified-member-functions rather than just
> cv-qualified-pointers-to-members.
Yes, exactly. Apologies for the confusion. It is a common mistake to provide
only R T::* and expect that to match all pointers to members. To get back to
your earlier post,
int (X::*pf) () const;
is not the same as
typedef int (*F) () const;
typedef F X::* pf;
since the first typedef is ill-formed, function types cannot be
cv-qualified.
The only way for R T::* to match pf is R = int (*) (), T == X const, but I
don't think that compilers do that.
Either way, it seems that you meant what you said, i.e. cv-qualified
pointers to members. Sorry for the noise.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk