struct OuterX { template struct Inner { int oX_inner = 42; }; }; struct OuterY { template struct Inner { typename OuterX::Inner oY_inner; }; }; struct WrapperB; WrapperB* foo();