// Contributed by Dodji Seketeli <dodji@redhat.com> | |
// Origin PR c++/37093 | |
struct A {}; | |
template <int A::* p> | |
int | |
foo(A* q) | |
{ | |
return q->*p; | |
} | |
template <typename T> | |
int | |
bar(int T::* p) | |
{ | |
return foo<p>(0);// { dg-error "(not a valid template arg|no matching func|pointer-to-member|could not convert|constant)" } | |
} | |
int i = bar<A>(0); | |