У меня есть небольшой фрагмент кода с классом Combat. Конструктор этого класса принимает в качестве параметра ссылку на вектор и инициализирует закрытый член вектора «MTeam». Этот класс имеет функцию battle (), которая принимает вектор объектов класса Monster по ссылке. Я хочу, чтобы эта функция увеличила количество элементов в векторе MTeam на 4. Я хотел использовать функцию push_back (), но она не работает и выдает ошибку: ни один экземпляр перегруженной функции не соответствует аргументу списка аргументов типы: (int) тип объекта: std :: vector>
В чем здесь проблема?
class Monster{
int health;
int protection;
public:
void attack(){
}
void heal(){
}
};
class Combat {
vector<Monster>& MTeam;
public:
Combat(vector<Monster>& MonsterTeam):MTeam(MonsterTeam) {
}
void IncreaseMembers() {
MTeam.push_back(4);//here the programme gives an error
}
};
int main()
{
vector<Monster> MonsterTeam;
Combat C;
C.combat(MonsterTeam);
return 0;
}