reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s

struct C {
  static int (C::* a);
};

typedef void (C::*pmfc)();

void g(pmfc) {
  C *c;
  c->*pmfc(); // expected-error {{invalid use of pointer to member type after ->*}}
  C c1;
  c1.*pmfc(); // expected-error {{invalid use of pointer to member type after .*}}
  c->*(pmfc()); // expected-error {{invalid use of pointer to member type after ->*}}
  c1.*((pmfc())); // expected-error {{invalid use of pointer to member type after .*}}
}

int a(C* x) { 
  return x->*C::a; 
}