// PR c++/68936 class A {}; struct predefined_macros { struct B { A (predefined_macros::*generator)(); }; }; template class C { void m_fn1(); predefined_macros predef; }; predefined_macros::B m; template void C::m_fn1() { (predef.*m.generator)(); }