Carrying on from my previous question, which has now been solved:
[Issue with Pointers (Only in Release Build)](https://stackoverflow.com/questions/8044549/issue-with-pointers-only-in-release-build) 

After making the required changes to the way i was creating enemies, i also had to change how other objects interact with the enemies for the obvious reasons. 
Now though, it seems that i'm doing something wrong again :/ 

Here i have some code for my projectiles that i create to hit the enemies, this one though does the opposite and stops the enemy for a short period of time. 

```
if ((enemies[numOfEnemies].position.x + (enemies[numOfEnemies].width / 2) > bullet.position.x && 
            enemies[numOfEnemies].position.x < bullet.position.x + bullet.width) && 
            (enemies[numOfEnemies].position.y + (enemies[numOfEnemies].height / 2) > bullet.position.y &&
            enemies[numOfEnemies].position.y < bullet.position.y + bullet.height) && 
            enemies[numOfEnemies].speed != 0)
        {
            //We've collided with the wall, stop the enemy
            enemies[numOfEnemies].previousSpeed = enemies[numOfEnemies].speed;
            enemies[numOfEnemies].speed = 0;
        }

```

As you can see, simple stuff. But it seems that the enemies vector keeps being reset, unsure what's happening here. Before-hand, again worked perfectly well, with the changes since changing from pointers to vectors now has creating this issue :/. 

```
void Towers::Update(std::vector<Enemies> enemies, SDLib& lib, Map cMap)

```

Thats how i'm passing in the vector to my function. Is the vector going out of scope and then being cleared up automatically? If so then what do i need to-do to assign the changes i make to the actual data?

Any help appreciated!