【发布时间】:2025-12-14 23:40:01
【问题描述】:
我有 Player 类,我必须创建静态方法 void Player::sortPlayers( vector<Player> &players, bool (*c)(const Player&, const Player&)) 并且该方法应该只包含一行,您可以在其中调用函数 sort ,您可以使用该函数将玩家按年龄升序或降序排列,而不是在 main创建两个函数bool ascending(const Player &p1, const Player&p2) 和
bool descending(const Player &p1, const Player &p)。
我在课堂上做过:
void Player::sortPlayers(vector<Player> &players, bool (*c)(const Player&, const Player&)) {
sort(players.begin(),players.end());
}
如何从 main 开始?我试过了,但它不起作用(对于 asc):
bool ascending(const Player &p1, const Player &p2) {
Player::sortPlayers(p1,p2);
}
错误信息:
Non-const lvalue reference to type 'vector<Player>' cannot bind to a value of unrelated type 'const Player'
【问题讨论】:
标签: c++ sorting c++11 vector stl