Well now I'm confused. See I don't actually want to set historyVector[0].rank to 10 necessarily, I want to push it back whatever the variable may be so that historyVector[0].rank becomes whatever the number is. Am I just missing this concept?
You are confusing the vector with the elements of the vector. History has a member called rank and historyVector has an method called push_back.
Based on the code you have so far, you must:
1. Add rank to a History object
2. Add a history object to the vector
These can actually be done in either order. Athar showed the history object being added to the vector first. You could also do:
1 2 3
History h;
h.rank = 10;
historyVector.push_back(h);
What you tried to do was call "push_back()" on the "rank" member of historyVector. Since historyVector does not have a member named "rank" and the only "rank" in your code is an int (and thus does not have a method "push_back"), the whole line is non-sensical.