В вашем примере нет вложенной структуры. Вы объявили структуру и использовали ее в другой структуре. Вложенная структура:
struct A {
struct B {};
};
У вас есть
struct A{};
struct B {
A a;
};
Вы можете написать с помощью
cin>>a[i].teamUniform.color;
Ничего особенного.
Вы можете вложите свои структуры
struct Player
{
struct Team
{
struct Uniform
{
std::string color;
};
std::string tname;
int poensHome;
int poensGuest;
Uniform teamUniform;
};
std::string name;
std::string surname;
int goals;
Team* team;
};
но я думаю, что вы что-то путаете. Возможно, это не то, что вам действительно нужно.
Вы можете объявить структуру и объявить член на одном шаге:
struct Player
{
struct Team
{
struct Uniform
{
std::string color;
} teamUniform;
std::string tname;
int poensHome;
int poensGuest;
}* team;
std::string name;
std::string surname;
int goals;
};
В этом случае структуры могут быть анонимными:
struct Player
{
struct
{
struct
{
std::string color;
} teamUniform;
std::string tname;
int poensHome;
int poensGuest;
}* team;
std::string name;
std::string surname;
int goals;
};