Array has changed during ranged-for iteration!?

I found that I already have a break in this loop where I am modifying the Array if the weapon is added, remove the first row which is not a weapon and add the corresponding ammo type of that weapon.

for (auto& Array : ItemsIDArr)
	{
		if (Array.Type != EItemType::E_Weapon)
		{
			ItemsIDArr.RemoveAt(1);
			break;
		}
	}