#include <iostream> struct X { void g(std::ostream&) { std::cout << "g"; }}; X* f(X& x){ std::cout << "f"; return &x;} int main(){ X x; f(x)->g(std::cout << "a");}