I just ran this code and it worked OK:
std::list< PolygonData > Polygons;
PolygonData stPol;
stPol.id = 1;
strcpy(stPol.name, "Foo");
PolygonPoint ppt;
ppt.x = 1;
ppt.y = 1;
ppt.z = 1;
stPol.PointsList.push_back(ppt);
PolygonPoint pptb;
pptb.x = 1;
pptb.y = 1;
pptb.z = 1;
stPol.PointsList.push_back(pptb);
Polygons.push_back(stPol);
Maybe you could show all your code in a single block, and please add proper <pre> tags around it, as I have done here.
[edit]
I just noticed that you have:
stPol.PointsList = points;
But
PointsList
is already declared as a
std::list
so you just need to add each structure to it thus:
stPol.PointsList.push_back(currP);
[/edit]