class Foo{
public:
struct Bar{};
};
...
Foo foo;
foo.Bar bar; //error
Мой компилятор сообщает о недопустимом использовании struct Foo::Bar
. Здесь, конечно, я могу назвать подкласс Foo::Bar
, если захочу, но если foo
имеет очень длинный тип вложенного шаблона и / или был создан с помощью auto, тогда было бы удобно получить доступ к подтипам через такой объект.
* Редактировать: чтобы было ясно, я хочу создать объект типа Foo :: Bar, без необходимости писать Foo::
.