I have if statement which doesn't return true even though it should.

```
std::vector<__int64> numbers;
for( __int64 i = 2; i < input; i++ )
{
numbers.push_back(i);
}
__int64 tmp = 4;
for (unsigned int i = 0; i < numbers.size(); i++)
{
[U][B]if ( numbers[i] == tmp )[/B][/U]
{
numbers.erase(numbers.begin()+i);
}
tmp += 2;
}
```

That particular line is underlined.

But if I do this it works.

```
for (unsigned int i = 0; i < numbers.size(); i++)
{
[U][B]if ( numbers[i] == 4 )[/B][/U]
{
numbers.erase(numbers.begin()+i);
}
tmp += 2;
}
```

Where is the problem?