// PR c++/48157 struct AType { template<class AA> void SomeFuncTemplate() { } }; template < class T > struct TTest2 { template<T> struct helper; template<class U> static void check(helper<&U::template SomeFuncTemplate<int> > *); }; int main() { TTest2< void (AType::*)() >::check<AType>(0); }