22 lines
		
	
	
		
			533 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			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; 
 | |
| }
 | |
| 
 | 
