Я создал пару различных структур в программе. У меня теперь есть структура с вложенными структурами, но я не могу решить, как правильно их инициализировать. Структуры перечислены ниже.Как инициализировать вложенные структуры в C++?
/***POINT STRUCTURE***/
struct Point{
float x; //x coord of point
float y; //y coord of point
};
/***Bounding Box STRUCTURE***/
struct BoundingBox{
Point ymax, ymin, xmax, xmin;
};
/***PLAYER STRUCTURE***/
struct Player{
vector<float> x; //players xcoords
vector<float> y; //players ycoords
BoundingBox box;
float red,green,blue; //red, green, blue colour values
float r_leg, l_leg; //velocity of players right and left legs
int poly[3]; //number of points per polygon (3 polygons)
bool up,down;
};
Затем я пытаюсь внедрить недавно созданную структуру игрока, названную игроком.
//Creates player, usings vectors copy and iterator constructors
Player player = {
vector<float>(xcords,xcords + (sizeof(xcords)/sizeof(float))), //xcords of player
vector<float>(ycords,ycords + (sizeof(ycords)/sizeof(float))), //ycoords of playe
box.ymax = 5; //create bounding box
box.ymin = 1;
box.xmax = 5;
box.xmin = 1;
1,1,1, //red, green, blue
0.0f,0.0f, //r_leg,l_leg
{4,4,4}, //number points per polygon
true,false}; //up, down
Это вызывает несколько разных ошибок, связанных с коробкой. Если в поле нет четкого идентификатора и отсутствует структура или синтаксис до «.».
Затем я попытался просто создать игрок и-структуру инициализации членов это следующим образом:
Player bob;
bob.r_leg = 1;
Но это приводит к увеличению количества ошибок, так как компилятор считает, что боб не имеет идентификатора или отсутствует какой-то синтаксис.
Я столкнулся с проблемой, но не нашел статей, в которых показано, как инициализировать множество разных элементов вложенных структур внутри (родительской) структуры. Любая помощь по этому вопросу была бы весьма признательна :-) !!!
Я понимаю, что этот фрагмент уже есть проблемы, как ограничивающий параллелепипед магазины точки, поэтому нужно ymax.x и ymax.y нужно initalising , Однако я попробовал это, но получил те же ошибки. (т. е. ymax.y = 5; ymax.x = 1 и т. д.) – binarycreations
приложите ошибки. –
Вы все равно должны инициализировать их в конструкторах. Вам не нужны неопределенные значения. –