C++ Most Vexing Parse: Why `Foo foo2()` Is Not an Object | CodeTrail