1 // { dg-do assemble  }
2 class cow {
3 public:
4   void moo (char *);
5 };
6 
f()7 void f()
8 {
9   cow* c;
10 
11   void (cow::*fp0)(char*) = &cow::moo;  // OK
12   void (cow::*fp1)(int) = &cow::moo;    // { dg-error "" } conversion
13   int (cow::*fp2)(char*) = &cow::moo;   // { dg-error "" } conversion
14   int (cow::*fp3)(char*, void*) = fp2;  // { dg-error "" } conversion
15   int (cow::*fp4)(double) = (int (cow::*)(double)) fp2; // OK
16 }
17