There is a typo (missing * operator) issue at the following code block; vector<Particle >::iterator it = particlePointers.begin();
vector<Particle >::iterator it = particlePointers.begin();
It should be replaced with the following; vector<Particle * >::iterator it = particlePointers.begin();
vector<Particle * >::iterator it = particlePointers.begin();