我有一个名为 player 的向量和一个名为 Player 的类。我想做的是写:
players.push_back(Player(name, Weapon(bullets)));
所以我希望能够循环创建玩家。但是我看到一条错误消息说“没有调用 Player::Player 的匹配函数...”
然后我将其更改为:
Weapon w(bullets);
Player p(name, w);
players.push_back(p);
这是我的播放器定义:
class Player {
public:
Player(string &name, Weapon &weapon);
private
string name;
Weapon weapon;
}
我只是想了解这些定义之间的区别。这是将对象传递给对象构造函数的正确方法吗?
注意:这些不是我的实际类定义。我只是想通过编码学习一些关于 C++ 中面向对象编程的知识。我的意思是我知道武器可以在 Player 中初始化 :)