class X { friend class A; }; template class B { }; template struct C { }; class D { B x; friend struct C; };