struct B {
  virtual void b() {}
};

static B* f() {
  struct D : public B {
  };

  return new D;
}

B* g() {
  return f();
}


syntax highlighted by Code2HTML, v. 0.9.1