Я кодирую функцию, которая берет руку и проверяет пары:
int containsPairs(vector<Card> hand)
{
int pairs{ 0 };
loopstart:
for (int i = 0; i < hand.size(); i++)
{
Card c1 = hand[i];
for (int j = i + 1; j < hand.size(); j++)
{
Card c2 = hand[j];
if (c1.getFace() == c2.getFace())
{
pairs++;
hand.erase(hand.begin() + i);
hand.erase(hand.begin() + (j - 1));
goto loopstart;
}
}
}
return pairs;
}
Когда он найдет пару в строке 10, я хочу удалить карты в руке, в которой он нашел пару, а затем перезапустить весь цикл с удаленными картами, чтобы найти вторую пару, если таковая есть. Для меня goto был самым интуитивным способом сделать это, но в этом случае это правда?