这是我的代码失败:
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'作为'int Card :: getRank()的'this'参数传递,丢弃限定符。
当我获得该卡的副本并将代码更改为此时,它可以正常工作:
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;
}
还有其他办法吗?
答案 0 :(得分:11)
getRank
是一个const方法吗?它应该被声明为“:
int getRank( ) const;
假设返回类型为int。