Ваша программа не работает из-за цикла for:
for(int i=0;i<=bullets.size()-1;i=i)
, где bullets.size()
- это size_t (unsigned int)
.Когда ваш вектор маркеров пуст (size() = 0
), условие i=0 <= (unsigned int)(0 - 1)
всегда выполняется.Ваша программа входит в тело и вылетает (yp, xp, маркеры пусты).
Ваши компиляторы должны где-то предупредить вас о проблеме?
Вы должны использовать for(size_t i=0;i < bullets.size(); i++ )
и переработать ваш файл длякоды тела, это держит ваш код в чистоте и избежать источника проблем.