1// { dg-do assemble  }
2class cow {
3public:
4  void moo (char *);
5};
6
7void 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