/* PR c++/37556 */ /* { dg-do compile } */ struct A { void foo(); }; typedef void (A::T)(); /* { dg-error "typedef name may not be a nested" } */ void bar(T); /* { dg-message "note: declared here" } */ void baz() { bar(&A::foo); /* { dg-error "too many arguments" } */ }