1// PR c++/70466
2
3template < class T, class T >  // { dg-error "conflicting" }
4class A
5{
6public:
7  explicit A (T (S::*f) ()) {}  // { dg-error "expected" }
8};
9
10template < class T, class S >
11A < T, S > foo (T (S::*f) ())
12{
13  return A < T, S > (f);
14}
15
16class B
17{
18public:
19  void bar () {}
20};
21
22int
23main ()
24{
25  foo (&B::bar);
26  return 0;
27}
28