Stworzyłem kilka różnych struktur w programie. Mam teraz strukturę ze strukturami zagnieżdżonymi, ale nie mogę ustalić, jak poprawnie je zainicjować. Struktury są wymienione poniżej.Jak zainicjować struktury zagnieżdżone w 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;
};
Następnie próbuję wprowadzić nową strukturę gracza o nazwie player.
//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
Powoduje to kilka różnych błędów dotyczących skrzynki. Podając pole nie ma wyraźnego identyfikatora i brakuje struktury lub składni przed ".".
Następnie próbowałem po prostu stworzyć struct gracza i zainicjować jego członków, co następuje:
Player bob;
bob.r_leg = 1;
Ale to powoduje więcej błędów, ponieważ kompilator uważa Bob ma identyfikator lub brakuje trochę składnię.
Przeanalizowałem problem, ale nie znalazłem artykułów, które wskazywałyby, jak zainicjować wiele różnych elementów struktur zagnieżdżonych w strukturze (macierzystej). Każda pomoc na ten temat byłaby bardzo cenna :-) !!!
Rozumiem to fragment ma już problemy jak sklepach obwiedni punkty więc muszą ymax.x i ymax.y trzeba initalising . Jednak próbowałem tego, ale dostałem te same błędy. (tj. zrobiłem: ymax.y = 5; ymax.x = 1; itp.)) – binarycreations
proszę dołączyć błędy. –
W każdym razie powinieneś zainicjować je w konstruktorze. Nie chcesz niezdefiniowanych wartości. –