Вызов метода с постоянным параметром объекта - PullRequest
1 голос
/ 04 апреля 2010

Вот мой код, который не работает:

bool Table::win(const Card &card) {
   for (int i = 0; i < cards.size(); i++)
      if (card.getRank() == cards[i].getRank()) return true;

   return false;
}

Сообщение об ошибке: передача const Card в качестве аргумента this для int Card :: getRank () отменяет квалификаторы.

Когда я получаю копию карты и меняю код на нее, она работает:

bool Table::win(const Card &card) {
   Card copyCard = card;

   for (int i = 0; i < cards.size(); i++)
      if (copyCard.getRank() == cards[i].getRank()) return true;

   return false;
}

Есть ли другой способ сделать это?

1 Ответ

12 голосов
/ 04 апреля 2010

Является ли getRank const-методом? Должно быть объявлено так ":

int getRank( ) const;

Предполагая, что тип возвращаемого значения int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...