Quote Originally Posted by Escapetomsfate View Post
EDIT: Could this be it? it is in the Weapon class constructor.

Code:
//add self to WeaponList vector.
WeaponList.push_back(*this);
You're adding a copy of a not yet constructed object to a vector. Could very well be a problem especially since you seem to have no copy constructor defined for the Weapon class that has some pointer members.
Kurt