[dcl.mptr] (original) (raw)

[Example 1:

struct X { void f(int);int a;};struct Y;int X::* pmi = &X::a;void (X::* pmf)(int) = &X::f;double X::* pmd;char Y::* pmc;declarespmi,pmf,pmdandpmcto be a pointer to a member ofXof typeint, a pointer to a member ofXof typevoid(int), a pointer to a member ofXof typedoubleand a pointer to a member ofYof typecharrespectively.

The declaration ofpmdis well-formed even thoughXhas no members of typedouble.

Similarly, the declaration ofpmcis well-formed even thoughYis an incomplete type.

pmiandpmfcan be used like this:X obj; obj.*pmi = 7; (obj.*pmf)(7);

— _end example_]