llvm-project/clang/test/SemaCXX/cxx-member-pointer-op.cpp

22 lines
533 B
C++

// 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;
}