Preguntas etiquetadas con private-members

139
¿Por qué puedo usar auto en un tipo privado?

De alguna manera me sorprendió que el siguiente código se compile y se ejecute (vc2012 y gcc4.7.2) class Foo { struct Bar { int i; }; public: Bar Baz() { return Bar(); } }; int main() { Foo f; // Foo::Bar b = f.Baz(); // error auto b = f.Baz(); // ok std::cout << b.i; } ¿Es correcto...