// Contributed by Dodji Seketeli // Origin PR c++/39987 // { dg-do compile } class foo { template static bool func(const U& x) { return true; } public: template unsigned int Find(const U& x, bool (*pFunc) (const U&) = func) const { return 0; } }; class bar { bool Initialize(); protected: foo b; }; bool bar::Initialize() { b.Find(b); return false; }