J'ai un problème pour supprimer un « membre » d'un « groupe » par l'indice:Comment effacer un élément d'un vecteur de vecteurs?
#include <vector>
#include <string>
using namespace std;
class Member
{
public:
explicit Member(const string &name, const unsigned long &key) : m_name(name), m_key(key) {}
const string &getName() const {return m_name;};
const unsigned long &getKey() const {return m_key;};
private:
string m_name;
unsigned long m_key;
};
//------------------------------------------------------------------------
class Group
{
public:
explicit Group(const string &name) : m_name(name) {}
const string &getName() const {return m_name;};
void addMember(const Member &member) {m_member.push_back(member);};
const vector<Member> &getMember() const {return m_member;};
private:
string m_name;
vector<Member> m_member;
};
void main() {
vector<Group> group;
group.push_back(Group("Membergroup 1"));
group[0].addMember(Member("Mark", 123456));
group[0].addMember(Member("John", 234567));
group[0].getMember().erase(group[0].getMember().begin() + 1); //to delete John
}
Erreur:: en passant « const std :: vector » comme « ce » argument de défausse qualificatifs groupe [-fpermissive] [_group] .getMember(). erase (groupe [_group] .getMember(). begin() + 1);
Quelqu'un peut-il m'aider s'il vous plaît?