gpt4 book ai didi

c++ - 从 C++ 列表中删除对象

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:11 25 4
gpt4 key购买 nike

有很多这样的问题,但我尝试了其中的大部分,但我无法成功。作为我的最后一次尝试,我没有出现任何错误,但该功能不起作用

这是我上次做的我需要从列表中删除特定对象

void discharge_patients() {
string str;
cout << "Enter Patients Name : " << endl;
cin >> str;

for (hospital const& common : hospitalList) {
if(common.getPatientName() == str){
cout << "\nPatient Name : " << common.getPatientName() << "\t";
hospitalList.remove(common);
break;
}
}
iputData();
}

hospitalList的声明

list<hospital> hospitalList;

这就是我向 hospitalList 添加对象的方式

void admit_patient() {
hospital obj;
string str;
int val;
cout << "Enter Patients Name : " << endl;
cin >> str;
obj.setPatientName(str);
cout << "Enter Bed Number : " << endl;
cin >> val;
obj.setBedNum(val);
cout << "Enter Date of Admit 'dd/mm/yyyy' : " << endl;
cin >> str;
obj.setDateOfAdmit(str);
cout << "Enter Patient Age :" << endl;
cin >> val;
obj.setAge(val);
cout << "Enter Patient Ward No :" << endl;
cin >> val;
obj.setWardNumber(val);
//push the object to hospitalList
hospitalList.push_back(obj);
iputData();
}

这就是我的hospital 类的样子

class hospital {

公开: 字符串 Patient_Name,Date_of_Admit; int Bed_Num, Age, Ward_Number;

int getAge() const {
return Age;
}

void setAge(int age) {
Age = age;
}

int getBedNum() const {
return Bed_Num;
}

void setBedNum(int bedNum) {
Bed_Num = bedNum;
}

const string& getPatientName() const {
return Patient_Name;
}

void setPatientName(const string& patientName) {
Patient_Name = patientName;
}

int getWardNumber() const {
return Ward_Number;
}

void setWardNumber(int wardNumber) {
Ward_Number = wardNumber;
}

const string& getDateOfAdmit() const {
return Date_of_Admit;
}

void setDateOfAdmit(const string& dateOfAdmit) {
Date_of_Admit = dateOfAdmit;
}
};

最佳答案

如果您在迭代期间更改列表,您的迭代器将失效。

参见 https://stackoverflow.com/a/10360466/5107799https://stackoverflow.com/a/1016332/5107799

关于c++ - 从 C++ 列表中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59521350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com