プログラム内にいくつかの異なる構造を作成しました。ネストされた構造を持つ構造ができましたが、それらを正しく初期化する方法がわかりません。構造を以下に示します。
/***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;
};
次に、新しく作成された player という名前の 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
これにより、ボックスに関するいくつかの異なるエラーが発生します。ボックスに明確な識別子がなく、「.」の前に構造体または構文が欠落していると述べています。
次に、次のように Player 構造体を作成し、そのメンバーを初期化しようとしました。
Player bob;
bob.r_leg = 1;
しかし、コンパイラは bob に識別子がないか、いくつかの構文が欠落していると見なすため、これによりさらに多くのエラーが発生します。
問題をグーグル検索しましたが、(親) 構造内でネストされた構造のさまざまなメンバーを初期化する方法を示す記事は見つかりませんでした。この件に関するヘルプは大歓迎です:-) !!!