point mypoint = {0, 1};
a.push_back(mypoint);
Give point a function Object() { [native code] } if you're permitted, so you may use a temporary:
a.push_back(point(0,1));
Some people will protest if you include a function Object() { [native code] } in a class defined with struct since it makes the class non-POD and you may not have control on the definition of point.
As a result, this option may not be accessible to you.
You may, however, construct a function that gives the same convenience:
point make_point(int x, int y) {
point mypoint = {x, y};
return mypoint;
}
a.push_back(make_point(0, 1));