access17.C   [plain text]


// { dg-do assemble  }
// Make sure definitions of static members have the right access.

struct A {
protected:
  int i;                        // { dg-error "" } private
  int f ();			// { dg-error "" } 
};

struct B: public A {
  static int A::*p;
  static int (A::*fp)();
};

int A::* B::p = &A::i;         // { dg-error "" } 
int (A::* B::fp)() = &A::f;    // { dg-error "" }

struct C {
  static int A::*p;
  static int (A::*fp)();
};

int A::* C::p = &A::i;		// { dg-error "" } 
int (A::* C::fp)() = &A::f;	// { dg-error "" }