This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

pointer member constant expression


I have asked this question before -- maybe to the gcc-help list but I'm still unclear.

The problem is this:

struct foo {
    int a;
    int b;
    int c;
};

static const int foo::*j = &foo::c; // accepted

class dog {
    static const int foo::*k = &foo::c;	// error
};

5.19 (constant expressions) paragraph 2, the last item in the 1998 C+ + spec says " -- a pointer to member constant expression." That appears to be defined as: '&' qualified-id (5.19 paragraph 6).

So is the line in error legal C++ or not?

Thanks,
Perry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]