使用矢量时没有操作员错误我创建了一个for循环输出输入学生的信息,但是当我打印出来使用cout << st.printInfo() << endl;
,我no operator "<<" matches these operants
与
Student类:
class Student {
private:
string nameSurname;
int score;
public:
void printInfo();
void setName(string _nameSurname) { nameSurname = _nameSurname; }
void setScore(int _score) { score = _score; }
Student() {
nameSurname = "Not Entered";
score = 0;
}
~Student() {}
};
功能打印:
void Student::printInfo()
{
cout << "-----------------" << endl;
cout << "Name and Surname : " << nameSurname << endl;
cout << "Score : " << score << endl;
cout << "-----------------" << endl;
}
主要功能:
vector<Student> v;
string nameSurname;
int score;
Student st;
for (int i = 0; i < v.size() + 1; i++)
{
cout << "Enter " << i + 1 << " Student Name and Surname : " << endl;
cin.ignore();
getline(cin, nameSurname);
st.setName(nameSurname);
cout << "Enter Student's Score : " << endl;
cin >> score;
st.setScore(score);
v.push_back(st);
}
错误被显示在内部for循环部分下面。该循环也是主要功能。
for (int i = 0; i < v.size(); i++)
{
cout << st.printInfo() << endl;
}
它没有找到'运营商<<'和操作符不存在确实如此。奇怪。 – skypjack
@skypjack:提示:在应用到'cout'之前评估'st.printInfo()'。 –
哦,我的错,没有看到他在使用'printInfo'。抱歉。 :-) – skypjack